Saltar al contenido

Empaquete un proyecto django y sus dependencias para un “producto” independiente

Recuerda que en las ciencias informáticas un error casi siempre tiene varias resoluciones, de igual modo nosotros te mostramos lo más óptimo y eficiente.

Solución:

Utilice las herramientas de configuración y easy_install.

Aquí hay un artículo introductorio.

Sí, puedes empaquetarlo. Puede que Django no sea el más fácil de hacer, pero los principios son los mismos para otros marcos. Necesitas hacer un instalador que instale todo lo que necesitas. Y ese instalador debe ser diferente para diferentes plataformas. como Windows, Ubuntu, OS X, etc. Eso también significa que la respuesta es significativamente diferente para cada plataforma, y ​​solo la mitad de la respuesta depende de Django. 🙁

Esto apesta un poco, pero así es la vida, actualmente. No existe una buena forma independiente de la plataforma para instalar software para usuarios finales.

Tampoco he encontrado la solución perfecta para esto todavía.

Mi enfoque actual es proporcionar una imagen acoplable porque es realmente fácil de usar para todos. Esto incluye una imagen base alpina porque es pequeña y python + django y la aplicación en sí. También puede incluir un servidor web como nginx y un servidor de aplicaciones como uwsgi o gunicorn y exponer un puerto para él.

Entonces, al final, su usuario simplemente ejecutaría el contenedor y accedería a la aplicación web en http://localhost:9000/ o algo como esto. Esto es realmente útil y también mi forma preferida de probar alguna aplicación que he encontrado.

La forma “adecuada” sería crear un paquete para cada sistema operativo y distribución al que se dirige y un paquete zip simple para que las personas también puedan instalar la aplicación manualmente.

Para construir los paquetes sugiero usar fpm. Elimina la mayor parte del dolor de hacer el empaque con sus herramientas nativas. Los paquetes luego dependerían de un servidor de aplicaciones adecuado como uwsgi o gunicorn.

Así que al final podrías instalarlo como apt install your-package y dependeria de python-django, uwsgi etc.

Para la ubicación y dónde colocar todos los archivos en el paquete, cada distribución tiene su propia forma de hacerlo. prefiero poner todo bajo /usr/share/webapps/myapp/ y teniendo la configuración debajo /etc/myapp/config.py o algo así.

Para Windows y macOS existen soluciones como PyInstaller. Todavía no lo he usado para una aplicación Django, pero debería funcionar. También debe incluir un servidor de aplicaciones como uwsgi.

En general, no desea ejecutar el servidor de desarrollo Django en un entorno de producción. Así que tenlo en cuenta a la hora de empaquetar.

Espero que eso ayude un poco.

Puntuaciones y comentarios

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *