wheel - ¿Los proyectos de python necesitan un MANIFEST.in, y qué deberían incluir?
python packages (1)
Re: "¿Necesito un MANIFEST.in?
No, no tienes que usar MANIFEST.in . Tanto distutils como setuptools incluyen en el paquete de distribución de origen todos los archivos mencionados en setup.py : módulos, paquete de archivos de python, README.txt y test/test*.py . Si esto es todo lo que desea tener en el paquete de distribución, no tiene que usar MANIFEST.in .
Si desea manipular (agregar o eliminar) los archivos predeterminados para incluir, debe usar MANIFEST.in .
Re: ¿Qué debería estar en ella?
El procedimiento es simple:
Asegúrese de que en su
setup.pyincluya (mediante argumentos desetup) todos los archivos que considere importantes para que el programa se ejecute (módulos, paquetes, scripts ...)Aclare, si hay algunos archivos para agregar o algunos archivos para excluir. Si no se necesita ninguno, entonces no hay necesidad de usar
MANIFEST.in.Si se necesita
MANIFEST.in, créelo. Por lo general, agrega los archivos detests*/*.pyREADME.rstsi no usaREADME.txt, los archivos dedocsy posiblemente algunos archivos de datos para el conjunto de pruebas, si es necesario.
Por ejemplo:
include README.rst
include COPYING.txt
Para probarlo, ejecute python setup.py sdist , y examine el tarball creado bajo dist/ .
¿Cuándo serán todos estos diferentes sistemas de paquetes ...
Comparando la situación de hoy y hace 2 años, la situación es mucho mejor, setuptools es el camino a seguir. Puede ignorar el hecho, distutils está un poco roto y es una base de bajo nivel para las setuptools de setuptools ya que las setuptools se encargarán de ocultarle estas cosas.
EDITAR : Últimos proyectos utilizo pbr para crear paquetes de distribución con tres líneas setup.py y el resto está en setup.cfg y setup.cfg . No hay necesidad de preocuparse por MANIFEST.in y otras cosas extrañas. A pesar de que el paquete merecería un poco más de documentación. Ver http://docs.openstack.org/developer/pbr/
La guía "Distribuir Python" (estaba en python-distribute.org, pero el registro ha caducado) me dice que incluya los archivos doc/txt y los archivos .py están excluidos en el archivo MANIFEST.in
La documentación del fuente me dice que solo sdist usa MANIFEST.in y solo incluye el archivo que usted especifique y que incluya los archivos .py . También me dice que use: python setup.py sdist --manifest-only para generar un MANIFEST , pero python me dice que esto no existe
Aprecio que estas son de diferentes versiones de python y que el sistema de distribución está completamente desordenado, pero asumiendo que estoy usando python 3 y setuptools (el nuevo que incluye distribuir pero ahora llamado setuptools, no las antiguas setuptools que estaban obsoletas para distribuir herramientas solo para volver a distribuir y distribuir renombrado a setuptools .....)
y estoy siguiendo la estructura de carpetas ''estándar'' y el archivo setup.py ,
- ¿Necesito un
MANIFEST.in? - ¿Qué debería estar en ella?
- ¿Cuándo se convertirán todos estos sistemas y métodos de paquetes diferentes en un solo proceso simple?