Compilazione dai Sorgenti

Configurazione e avvio di LibreTranslate 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:

pipx install hatch

Clona il repository:

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:

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:

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

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

Esecuzione dei test

Esegui la suite di test e i controlli di linting:

hatch run test

Per visualizzare tutti i print() durante il debug:

hatch run test -s

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

hatch run all:test

Puoi pulire l’ambiente virtuale con:

hatch env prune

Compilazione con Docker

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:

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

Oppure compila ed esegui usando Docker Compose:

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.

FAQ

Ambiente Gestito Esternamente

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.