L'exclusion d'un répertoire de niveau supérieur à partir d'un paquet setuptools
Je suis en train de mettre un projet de Python dans une archive à l'aide de setuptools. Le problème est que setuptools ne semble pas de la même manière que la source de l'arbre a été à l'origine de l'installation (pas par moi, je dois ajouter). Tout ce que je veux réellement à distribuer est dans le répertoire de niveau supérieur, plutôt que dans un sous-répertoire, comme le setuptools docs parler.
L'arbre a un répertoire, tests
, que je ne veux pas avoir à la sortie du paquet. Cependant, l'utilisation de exclude_package_data
ne semble pas réellement faire le tout à l'exclusion, et j'aimerais travailler ce que j'ai fait de mal.
Mon setup.py
ressemble à ça, dans la partie pertinente:
setup(
name="project",
packages=[''],
include_package_data=True,
exclude_package_data={'': ['tests']},
test_suite='nose.collector',
)
OriginalL'auteur womble | 2009-03-04
Vous devez vous connecter pour publier un commentaire.
Nous utilisons la convention ci-après pour exclure les "tests" de paquets.
Nous utilisons également MANIFESTE.pour mieux contrôler ce
include_package_data=True
.exclude=()
n'était pas assez pour moi. Par stackoverflow.com/a/11669299/472876 , j'ai dû utiliserrecursive-exclude tests *
dans monMANIFEST.in
pour le succès.OriginalL'auteur flexiondotorg
C'est ce que j'ai trouvé dans setuptools manuel:
Dans mon cas, ce qui suit a été suffisante pour exclure le top des tests de niveau de répertoire:
OriginalL'auteur Enno Gröper
J'ai la suite dans ma
setup.py
...J'ai eu un
doc/
répertoire qui a été prise en massif, en raison du nombre d'images que j'avais en elle; cela signifie que la taille de monsdist
a été en croissance de plus de 500ko. À l'origine, je l'avais en maMANIFEST.in
...La seule chose que j'avais à faire à exclure mon répertoire doc a cette ligne en bas de
MANIFEST.in
...À l'aide de
prune doc*
soudainement enlevé tout mondoc/
répertoire à partir de lasdist
archive. Donc il semble que vous avez juste besoin de l'utiliser dans unMANIFEST.in
fichier...OriginalL'auteur Mike Pennington
Ug, setuptools fait vraiment délicate 🙁
Je ne sais pas si c'est ce que vous voulez, mais un projet que je travaille sur utilise une combinaison de deux choses:
OriginalL'auteur David Wolever
Pour un but semblable, mon collègue a écrit setuptools-dummy package: http://github.com/ella/setuptools-dummy/tree/master
Prendre un coup d'oeil à setuptools_dummy, modifier exclut à vos besoins et cela devrait fonctionner. Si non, ouvrez un problème 😉
OriginalL'auteur Almad