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:
pipx install hatchClona il repository:
git clone https://github.com/LibreTranslate/LibreTranslate.gitcd LibreTranslateHatch 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 --debugQuindi apri un browser web su http://localhost:5000
Puoi anche avviare una nuova shell in un ambiente virtuale con libretranslate installato:
hatch shelllibretranslate [args]# Opython main.py [args]Puoi ancora usare
pip install -e ".[test]"direttamente se non vuoi usare hatch.
Esecuzione dei test
Sezione intitolata “Esecuzione dei test”Esegui la suite di test e i controlli di linting:
hatch run testPer visualizzare tutti i print() durante il debug:
hatch run test -sPuoi anche eseguire i test su più versioni di python:
hatch run all:testPuoi pulire l’ambiente virtuale con:
hatch env pruneCompilazione con Docker
Sezione intitolata “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 --buildSentiti libero di modificare il file
docker-compose.ymlper adattarlo alle tue esigenze di distribuzione, o usa un filedocker-compose.prod.ymlaggiuntivo per la tua configurazione di distribuzione.I modelli sono archiviati all’interno del container in
/home/libretranslate/.local/sharee/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.
Ambiente Gestito Esternamente
Sezione intitolata “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.