¿Cuál es la forma estándar de empaquetar un proyecto de Python con dependencias?
Tengo un proyecto de Python que tiene algunas dependencias (definidas eninstall_requires
en setup.py). My ops people requiere que un paquete sea autónomo y solo dependa de una instalación de Python. La prueba de fuego sería que pueden obtener un archivo zip y luego descomprimirlo y ejecutarlo sin una conexión a Internet.
¿Hay una manera fácil de empaquetar una instalación que incluya dependencias? Es aceptable si tengo que construir sobre el sistema operativo / arquitectura en el que eventualmente se ejecutará.
Por lo que vale, probé ambossetup.py build
ysetup.py sdist
, pero no parecen ajustarse a la factura ya que no incluyen dependencias. También he consideradovirtualenv
(que podría instalarse si fuera absolutamente necesario), pero tiene caminos codificados que lo hacen menos que ideal.