Compilación desde Fuentes
Si deseas realizar cambios en el código, puedes compilar desde las fuentes.
Instala hatch para gestionar las dependencias del proyecto y ejecutar scripts de desarrollo:
pipx install hatchClona el repositorio:
git clone https://github.com/LibreTranslate/LibreTranslate.gitcd LibreTranslateHatch instalará automáticamente las dependencias requeridas en un entorno virtual y habilitará pre-commit, que se ejecutará antes de cada commit para el formateo. Puedes omitir las comprobaciones de pre-commit al hacer commit si es necesario: git commit --no-verify -m "Fix"
Ejecución en modo de desarrollo:
hatch run dev --debugLuego abre un navegador web en http://localhost:5000
También puedes iniciar un nuevo shell en un entorno virtual con libretranslate instalado:
hatch shelllibretranslate [args]# Opython main.py [args]Todavía puedes usar
pip install -e ".[test]"directamente si no quieres usar hatch.
Ejecución de Pruebas
Sección titulada «Ejecución de Pruebas»Ejecuta la suite de pruebas y las comprobaciones de linting:
hatch run testPara ver todos los print() durante la depuración:
hatch run test -sTambién puedes ejecutar las pruebas en múltiples versiones de python:
hatch run all:testPuedes limpiar el entorno virtual con:
hatch env pruneCompilación con Docker
Sección titulada «Compilación con Docker»docker build -f docker/Dockerfile [--build-arg with_models=true] -t libretranslate .Si deseas ejecutar la imagen de Docker en un entorno completamente fuera de línea, debes agregar el parámetro --build-arg with_models=true. De esta manera, los modelos de lenguaje se descargan durante el proceso de compilación de la imagen. De lo contrario, estos modelos se descargan en el primer inicio de la imagen/contenedor.
Ejecuta la imagen compilada:
docker run -it -p 5000:5000 libretranslate [args]O compila y ejecuta usando Docker Compose:
docker compose up -d --buildSiéntete libre de modificar el archivo
docker-compose.ymlpara adaptarlo a tus necesidades de implementación, o usa un archivodocker-compose.prod.ymladicional para tu configuración de implementación.Los modelos se almacenan dentro del contenedor en
/home/libretranslate/.local/sharey/home/libretranslate/.local/cache. Siéntete libre de usar volúmenes si no quieres volver a descargar los modelos cuando se destruye el contenedor. Para actualizar los modelos, usa el argumento--update-models.
Entorno Gestionado Externamente
Sección titulada «Entorno Gestionado Externamente»Algunos usuarios pueden encontrar el siguiente error al instalar paquetes:
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.
…Esto ocurre cuando tu sistema operativo depende de y gestiona Python para funcionalidades básicas. En este caso, deberías instalar y configurar venv (entornos virtuales) para gestionar las dependencias del proyecto.
Esto evita que los paquetes de pip se instalen a nivel de sistema. De esta manera, no hay riesgos de que los paquetes de pip entren en conflicto entre múltiples proyectos o con el sistema operativo.