Salta ai contenuti

Compilazione dai Sorgenti

Se vuoi apportare modifiche al codice, puoi compilare dai sorgenti.

Installa hatch per gestire le dipendenze del progetto ed eseguire script di sviluppo:

Terminal window
pipx install hatch

Clona il repository:

Terminal window
git clone https://github.com/LibreTranslate/LibreTranslate.git
cd LibreTranslate

Hatch installerà automaticamente le dipendenze richieste in un ambiente virtuale e abiliterà pre-commit, che verrà eseguito prima di ogni commit per la formattazione. Puoi ignorare i controlli di pre-commit durante il commit, se necessario: git commit --no-verify -m "Fix"

Esecuzione in modalità sviluppo:

Terminal window
hatch run dev --debug

Quindi apri un browser web su http://localhost:5000

Puoi anche avviare una nuova shell in un ambiente virtuale con libretranslate installato:

Terminal window
hatch shell
libretranslate [args]
# O
python main.py [args]

Puoi ancora usare pip install -e ".[test]" direttamente se non vuoi usare hatch.

Esegui la suite di test e i controlli di linting:

Terminal window
hatch run test

Per visualizzare tutti i print() durante il debug:

Terminal window
hatch run test -s

Puoi anche eseguire i test su più versioni di python:

Terminal window
hatch run all:test

Puoi pulire l’ambiente virtuale con:

Terminal window
hatch env prune
Terminal window
docker build -f docker/Dockerfile [--build-arg with_models=true] -t libretranslate .

Se vuoi eseguire l’immagine Docker in un ambiente completamente offline, devi aggiungere il parametro --build-arg with_models=true. In questo modo i modelli linguistici vengono scaricati durante il processo di build dell’immagine. Altrimenti, questi modelli vengono scaricati al primo avvio dell’immagine/container.

Esegui l’immagine compilata:

Terminal window
docker run -it -p 5000:5000 libretranslate [args]

Oppure compila ed esegui usando Docker Compose:

Terminal window
docker compose up -d --build

Sentiti libero di modificare il file docker-compose.yml per adattarlo alle tue esigenze di distribuzione, o usa un file docker-compose.prod.yml aggiuntivo per la tua configurazione di distribuzione.

I modelli sono archiviati all’interno del container in /home/libretranslate/.local/share e /home/libretranslate/.local/cache. Sentiti libero di usare i volumi se non vuoi riscaricare i modelli quando il container viene distrutto. Per aggiornare i modelli, usa l’argomento --update-models.

Alcuni utenti potrebbero riscontrare il seguente errore durante l’installazione dei pacchetti:

error: externally-managed-environment
× This environment is externally managed
╰─> To install Python packages system-wide, try apt install
python3-xyz, where xyz is the package you are trying to
install.

Questo si verifica quando il sistema operativo dipende da e gestisce Python per le funzionalità principali. In questo caso, è consigliabile installare e configurare venv (ambienti virtuali) per gestire le dipendenze del progetto.

Ciò impedisce che i pacchetti pip vengano installati a livello di sistema. In questo modo, non ci sono rischi di conflitti tra i pacchetti pip di più progetti o con il sistema operativo.