2017-03-23 1 views
1

J'utilise setuptools pour empaqueter un module personnalisé pour le déploiement, ce qui ne devrait pas inclure certains fichiers dans le répertoire data/ qui ont été utilisés pour le développement. J'ai succès exclu les fichiers nécessaires à l'aide recursive-exclude data/ * dans mon dossier MANIFEST.in, mais je vois aussi que je pouvais le faire via prune data/Différence entre prune et recursive-exclude dans setuptools?

Les deux approches suppriment les fichiers voulus par package.egg-info/SOURCES.txt après l'emballage par python setup.py egg_info

est-il une différence entre les deux?

Répondre

2

Basé sur le comportement documentation est:

  • recursive-exclude dir pat1 pat2 prend le répertoire dir et ne tient pas compte de tous les fichiers qui correspondent à des modèles pat1 et pat2

  • prune dir exclura tous les fichiers dans le répertoire dir

Donc, dans votre cas recursive-exclude dir * et prune dir devrait avoir le même comportement, sauf que prune va supprimer le répertoire entier, tandis que recursive-exclude conservera un dossier vide.

+0

Ah! Je regardais les docs setuptools plutôt que les distutils ... Quoi qu'il en soit, 'récursive-exclure 'semble également se débarrasser des dossiers vides. En regardant les docs, je pense que la seule différence est que 'recursive-exclude' vous permet de spécifier des types de fichiers alors que' prune' supprime tout le répertoire. – yunque