Compiler depuis les sources

Installez et configurez LibreTranslate.

Si vous souhaitez apporter des modifications au code, vous pouvez compiler depuis les sources.

Installez hatch pour gérer les dépendances du projet et exécuter les scripts de développement :

pipx install hatch

Clonez le dépôt :

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

Hatch installera automatiquement les dépendances requises dans un environnement virtuel et activera pre-commit, qui s’exécutera avant chaque commit pour formater le code. Vous pouvez ignorer les vérifications pre-commit lors du commit si nécessaire : git commit --no-verify -m "Fix"

Exécuter en développement :

hatch run dev --debug

Ensuite, ouvrez un navigateur web vers http://localhost:5000

Vous pouvez également démarrer un nouveau shell dans un environnement virtuel avec libretranslate installé :

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

Vous pouvez toujours utiliser pip install -e ".[test]" directement si vous ne voulez pas utiliser hatch.

Exécuter les tests

Exécuter la suite de tests et les vérifications de linting :

hatch run test

Pour afficher tous les print() lors du débogage :

hatch run test -s

Vous pouvez également exécuter les tests sur plusieurs versions de python :

hatch run all:test

Vous pouvez nettoyer l’environnement virtuel avec :

hatch env prune

Construire avec Docker

docker build -f docker/Dockerfile [--build-arg with_models=true] -t libretranslate .

Si vous souhaitez exécuter l’image Docker dans un environnement complètement hors ligne, vous devez ajouter le paramètre --build-arg with_models=true. Ensuite, les modèles de langue sont téléchargés pendant le processus de construction de l’image. Sinon, ces modèles sont téléchargés lors de la première exécution de l’image/du conteneur.

Exécuter l’image construite :

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

Ou construire et exécuter en utilisant Docker Compose :

docker compose up -d --build

N’hésitez pas à modifier le fichier docker-compose.yml pour l’adapter à vos besoins de déploiement, ou utilisez un fichier docker-compose.prod.yml supplémentaire pour votre configuration de déploiement.

Les modèles sont stockés à l’intérieur du conteneur sous /home/libretranslate/.local/share et /home/libretranslate/.local/cache. N’hésitez pas à utiliser des volumes si vous ne voulez pas retélécharger les modèles lorsque le conteneur est détruit. Pour mettre à jour les modèles, utilisez l’argument --update-models.

FAQ

Environnement géré en externe

Certains utilisateurs peuvent rencontrer l’erreur suivante lors de l’installation de paquets :

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.

    …

Cela se produit lorsque votre système d’exploitation dépend de et gère Python pour ses fonctionnalités principales. Dans ce cas, vous devez installer et configurer venv (environnements virtuels) pour gérer les dépendances du projet.

Cela empêche l’installation de paquets pip à l’échelle du système. De cette façon, il n’y a aucun risque de conflit entre les paquets pip de plusieurs projets ou du système d’exploitation.