Construye una rueda / huevo y todas las dependencias para un proyecto de python

Para poder realizar un proyecto de Python dentro de nuestra corporación, necesito hacer una distribución instalable.

Esto debe incluir:

  • Un huevo o whl para mi proyecto.
  • Un huevo o whl para cada dependencia del proyecto.
  • (opcionalmente) produce un archivo Requirements.txt que enumera todos los componentes instalables para esta versión

¿Hay un complemento fácil (por ejemplo, una alternativa a bdist_wheel) que no solo comstackrá una rueda sino también los componentes de ese proyecto?

Obviamente puedo hacer un script de esto, pero esperaba que pudiera haber un atajo que construya las dependencias del paquete + en menos pasos.

Esto debe funcionar en Python 2.7 en Windows + Linux.

Necesitará crear un archivo setup.py para su paquete. Asegúrate de tener las últimas herramientas de instalación y pip instaladas. Luego ejecuta lo siguiente:

 python setup.py bdist_wheel 

Esto creará un archivo de rueda para su paquete. Esto supone que no tiene encabezados C / C ++, DLL, etc. Si los tiene, probablemente tendrá mucho más trabajo por hacer.

Para obtener dependencias, querrá crear un archivo Requirements.txt y ejecutar lo siguiente:

 pip wheel -r requirements.txt 

Si su paquete no está en PyPI, entonces tendrá que copiar manualmente el archivo de la rueda de su paquete en la carpeta de ruedas que crea este comando. Para más información vea el siguiente excelente artículo:

Con la última pip y wheel , simplemente puede ejecutar

 pip wheel . 

dentro de la carpeta de su proyecto, incluso si su aplicación no está en PyPi. Todas las ruedas se almacenarán en ./wheelhouse . Sin embargo, cuando lo probé, se perdió una de mis dependencias y tuve que crearlo manualmente. No estoy seguro de por qué.