wheel python setuptools

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:

  1. Asegúrese de que en su setup.py incluya (mediante argumentos de setup ) todos los archivos que considere importantes para que el programa se ejecute (módulos, paquetes, scripts ...)

  2. 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 .

  3. Si se necesita MANIFEST.in , créelo. Por lo general, agrega los archivos de tests*/*.py README.rst si no usa README.txt , los archivos de docs 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 ,

  1. ¿Necesito un MANIFEST.in ?
  2. ¿Qué debería estar en ella?
  3. ¿Cuándo se convertirán todos estos sistemas y métodos de paquetes diferentes en un solo proceso simple?