Quando il confezionamento di un pacchetto di Python con un setup.py che utilizza le setuptools:Come posso fare in modo che setuptools ignori l'inventario di subversion?
from setuptools import setup
...
distribuzione sorgente creato da:
python setup.py sdist
non solo comprende, come al solito, i file specificati nel MANIFESTO. in, ma anche, gratuitamente, include tutti i file elencati da Subversion come controllati dalla versione sotto la directory del pacchetto. Questo è molto fastidioso. Non solo rende difficile esercitare un controllo esplicito su quali file vengono distribuiti con il mio pacchetto, ma significa che quando costruisco il mio pacchetto seguendo un "svn export" invece di un "svn checkout", il contenuto del mio il pacchetto potrebbe essere abbastanza diverso, poiché senza il .svn metadata setuptools farà scelte diverse su cosa includere.
La mia domanda: come posso disattivare questo comportamento terribile, in modo che "setuptools" tratta il mio progetto allo stesso modo, sia che io stia usando Subversion, o il controllo della versione di cui non si è mai sentito parlare, o un albero nudo creato con "svn esportare "che ho creato alla fine del mio progetto per assicurarmi che si costruisca in modo pulito da qualche parte oltre alla mia directory di lavoro?
Il meglio che sono riuscito finora è una brutta scimmia-patch:
from setuptools.command import sdist
del sdist.finders[:]
Ma questo è Python, non è la giungla, così naturalmente voglio una soluzione migliore che non coinvolge le scimmie a tutti. Come posso domare gli strumenti di setup, disattivare la sua magia e comportarsi in modo sensato guardando invece le regole visibili e prevedibili nel mio MANIFEST.py?
Penso di avere lo stesso identico problema qui, solo con .git e py2app: http://stackoverflow.com/questions/9845590/py2app-picking-up-git-subdir-of-a-package-during -build – jdi
Wow, * sembra * lo stesso problema! –
Ho postato un hack monkeypatch come risposta alla mia stessa domanda. Havent ha trovato qualcosa di meglio ancora – jdi