Compiler depuis les sources
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 hatchClonez le dépôt :
git clone https://github.com/LibreTranslate/LibreTranslate.gitcd LibreTranslateHatch 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 --debugEnsuite, ouvrez un navigateur web vers http://localhost:5000
Vous pouvez également démarrer un nouveau shell dans un environnement virtuel avec libretranslate installé :
hatch shelllibretranslate [args]# Oupython main.py [args]Vous pouvez toujours utiliser
pip install -e ".[test]"directement si vous ne voulez pas utiliser hatch.
Exécuter les tests
Section intitulée « Exécuter les tests »Exécuter la suite de tests et les vérifications de linting :
hatch run testPour afficher tous les print() lors du débogage :
hatch run test -sVous pouvez également exécuter les tests sur plusieurs versions de python :
hatch run all:testVous pouvez nettoyer l’environnement virtuel avec :
hatch env pruneConstruire avec Docker
Section intitulée « 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 --buildN’hésitez pas à modifier le fichier
docker-compose.ymlpour l’adapter à vos besoins de déploiement, ou utilisez un fichierdocker-compose.prod.ymlsupplémentaire pour votre configuration de déploiement.Les modèles sont stockés à l’intérieur du conteneur sous
/home/libretranslate/.local/shareet/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.
Environnement géré en externe
Section intitulée « 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.