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.py
incluya (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*/*.py
README.rst
si no usaREADME.txt
, los archivos dedocs
y 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?