Le guide "Python Distribute" (était sur python-distribute.org, mais l'enregistrement est arrivé à expiration) me dit d'inclure les doc/txt
fichiers et les .py
fichiers sont exclus du MANIFEST.in
fichier
La documentation de sourcedist m'indique que sdist utilise MANIFEST.in
et n'inclut que les fichiers que vous spécifiez et d'inclure des .py
fichiers. Il me dit aussi d'utiliser: python setup.py sdist --manifest-only
pour générer un MANIFEST
, mais python me dit que cela n'existe pas
J'apprécie qu'ils proviennent de différentes versions de python et que le système de distribution est dans un désordre complet, mais en supposant que j'utilise python 3 et setuptools
(le nouveau qui inclut distribuer mais maintenant appelé setuptools, pas l'ancien setuptools qui était obsolète pour les outils de distribution uniquement être ramené dans la distribution et la distribution renommée setuptools .....)
et je suis la structure de dossier et le setup.py
fichier «standard» ,
- Ai-je besoin d'un
MANIFEST.in
? - Que devrait-il y avoir?
- Quand tous ces différents systèmes et méthodes d'emballage seront-ils transformés en un seul processus simple?
la source
sdist
(means: source distribution ). Si vous considérez celabdist
etbdist_wheel
sont binaires et destinés uniquement à être installés dans votre chemin python, cela a du sens. (Où iraient ces fichiers et répertoires non-module? Dans/usr/local/lib/python2.7/dist-packages/
? Sûrement pas.) Mais cela vaut la peine d'être mentionné car il est déroutant de voir l'archive créée et de ne pas inclure les fichiers.package_data
et lesdata_files
recommandations, qui sont hors de portée, je vais continuer.package_data
répertorie les fichiers installés avec votre package dansdist-packages/yourpackage
lesquels ils auraient été ignorés car ils n'ont pas de nom * .py.data_files
répertorie les fichiers installés en dehors de votre package. Chaque entrée spécifie un chemin cible avec le préfixesys.prefix
s'il est relatif ou créé directement (si les autorisations le permettent) s'il commence par un/
.pbr
est également une mauvaise idée.Ancienne question, nouvelle réponse:
Non, vous n'en avez pas besoin
MANIFEST.in
. Cependant, pour arriversetuptools
à faire ce que vous entendez (habituellement), vous devez utiliser lesetuptools_scm
, qui joue le rôle deMANIFEST.in
à 2 endroits clés:sdist
commande (où tous les fichiers pertinents sont définis comme «tous les fichiers sous contrôle de code source»)include_package_data
d'inclure des données de paquets dans le cadre dubuild
oubdist_wheel
. (encore une fois: fichiers sous contrôle de code source)La compréhension historique de
MANIFEST.in
est la suivante: lorsque vous n'avez pas de système de contrôle de source, vous avez besoin d'un autre mécanisme pour faire la distinction entre les «fichiers source» et les «fichiers qui se trouvent dans votre répertoire de travail». Cependant, votre projet est sous contrôle de code source (à droite ??), il n'est donc pas nécessaire d'utiliserMANIFEST.in
. Plus d'informations dans cet article .la source