2010-09-28 5 views
1

J'utilise setuptools pour créer et télécharger un paquet sdist vers PyPI. Cependant, à chaque fois que j'exécute python setup.py sdist, il inclut le dossier dist/et son contenu, ce dont je ne veux pas. Ce comportement ne se produit PAS lorsque j'utilise distutils.setuptools inclut dist/folder dans la construction

ici est ma structure de fichier:

/ 
-myModule/ 
--__init_.py, 
-- ... 
-docs/ 
-examples/ 
-dist/ 
setup.py 

c'est aussi ma racine du tronc svn. voici mon setup.py

import ez_setup 
ez_setup.use_setuptools() 

from setuptools import setup, find_packages 
setup(name='mymodule', 
    version='1.0', 
    license='gpl', 
    description='blahn', 
    author='me', 
    author_email='myemail', 
    url='http://code.google.com/p/mymodule/', 
    packages= find_packages(), 
    install_requires = [ 
     'numpy>=1.3.0', 
     'scipy>=0.7.1', 
     'matplotlib>=1.0.0' 
     ], 
    ) 

quand voir cette sortie, ce qui indique que le problème

python setup.py sdist 
... 
making hard links in mwavepy-1.0... 
hard linking MANIFEST.in -> mwavepy-1.0 
hard linking ez_setup.py -> mwavepy-1.0 
hard linking setup.py -> mwavepy-1.0 
hard linking dist/mwavepy-1.0.tar.gz -> mwavepy-1.0/dist 
hard linking dist/mwavepy-1.0.win32.exe -> mwavepy-1.0/dist 
hard linking dist/mwavepy-1.0.zip -> mwavepy-1.0/dist 
hard linking doc/generate_docs.py -> mwavepy-1.0/doc 
hard linking doc/mwavepy.calibration.html -> mwavepy-1.0/doc 
hard linking doc/mwavepy.calibrationAlgorithms.html -> mwavep 
... 
+0

Vous devez nous montrer les parties pertinentes de setup.py - normalement, la commande sdist ne le fait pas. Peut-être que vous avez spécifié "dist" dans 'data_files' ou alors? – AndiDog

+0

Je ne peux pas reproduire le problème (je n'ai pas le module 'ez_setup', peut-être que cela fait une différence?). Quelle est votre version de setuptools? Vérifiez avec 'setuptools .__ version__'. – AndiDog

+0

en utilisant le formulaire d'installation setuputils au lieu de ez_setup, doesnt * change.j'utilise setuptools-0.6. L'utilisation de distutils n'a pas ce problème. – alex

Répondre

0

Essayez de retirer la déclaration find_packages() et le remplacer par

setup(
    ... 
    packages = ['myModule'], 
    package_dir = {'myModule' : 'myModule_path'}, 
    ...) 
0

Vous pourriez aussi passer un argument à find_packages():

setup(
    #... 
    packages= find_packages(exclude='dist'), 
    # ... 
) 
0

Cela est arrivé pour moi, jusqu'à ce que je couru svn rm dist/foo.tar.gz, puis il n'était plus lié dur, et n'était pas dans l'archive résultante. La documentation de setuptools mentionne un comportement différent selon si un fichier est sous contrôle CVS ou SVN:

include_package_data

Si vrai, cela indique setuptools d'inclure automatiquement tous les fichiers de données qu'il trouve dans votre répertoires de package, qui sont sous contrôle CVS ou Subversion, ou qui sont spécifiés par votre fichier MANIFEST.in .