La guía "Python Distribute" (estaba en python-distribute.org, pero ese registro ha caducado) me dice que incluya doc/txtarchivos y los .pyarchivos están excluidos en el MANIFEST.inarchivo.
La documentación de sourcedist me dice que solo sdist usa MANIFEST.iny solo incluye el archivo que usted especifica y para incluir .pyarchivos. También me dice que use: python setup.py sdist --manifest-onlypara generar un MANIFEST, pero Python me dice que esto no existe
Aprecio que estos son de diferentes versiones de Python y el sistema de distribución está en un completo desastre, pero suponiendo que estoy usando Python 3 y setuptools(el nuevo que incluye distribuir pero ahora se llama herramientas de configuración, no las herramientas de configuración antiguas que estaban obsoletas solo para distribuir herramientas volver a distribuir y distribuir renombrado a setuptools .....)
y sigo la estructura de carpetas y el setup.pyarchivo "estándar" ,
- ¿Necesito un
MANIFEST.in? - ¿Qué debería haber en él?
- ¿Cuándo se convertirán todos estos diferentes métodos y sistemas de paquetes en un solo proceso simple?
fuente

sdist(significa: distribución de fuente ). Si considera quebdistybdist_wheelson binarios y solo están destinados a instalarse en su ruta de Python, esto tiene sentido. (¿Dónde irían estos archivos y directorios que no son módulos? ¿En/usr/local/lib/python2.7/dist-packages/? Seguramente no.) Pero vale la pena mencionarlo ya que es confuso ver el archivo creado y no incluir los archivos.package_datay lasdata_filesrecomendaciones, que están fuera de alcance, continuaré.package_dataenumera el archivo que se instala con su paquete en eldist-packages/yourpackageque se habría omitido porque no tiene un nombre * .py.data_filesenumera los archivos que se instalan fuera de su paquete. Cada entrada especifica una ruta de destino que tiene como prefijosys.prefixsi es relativa o se crea directamente (si los permisos lo permiten) si comienza con/.pbres una mala idea.Pregunta antigua, respuesta nueva:
No, no es necesario
MANIFEST.in. Sin embargo, para llegarsetuptoolsa hacer lo que (normalmente) quieres decir, necesitas usar elsetuptools_scm, que asume el papel deMANIFEST.inen 2 lugares clave:sdistcomando (donde todos los archivos relevantes se definen como "todos los archivos bajo control de fuente")include_package_datapara incluir datos del paquete como parte debuildobdist_wheel. (nuevamente: archivos bajo control de fuente)La comprensión histórica de
MANIFEST.ines: cuando no tiene un sistema de control de fuente, necesita algún otro mecanismo para distinguir entre "archivos fuente" y "archivos que se encuentran en su directorio de trabajo". Sin embargo, su proyecto está bajo control de fuente (¿verdad?), Por lo que no es necesarioMANIFEST.in. Más información en este artículo .fuente