2010-09-28 2 views
1

Я использую setuptools для создания и загрузки пакета sdist в PyPI.setuptools включает dist/folder в build

однако каждый раз я запускаю python setup.py sdist, он включает в себя папку dist и ее содержимое, которое я не хочу. это поведение не происходит, когда я использую distutils.

вот моя структура файла:

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

это тоже мой корень ствол SVN. вот мой 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' 
     ], 
    ) 

когда видят этот вывод, что указывает на проблему

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

Вы должны показать нам соответствующие части setup.py - команда sdist обычно этого не делает. Возможно, вы указали «dist» в 'data_files' или так? – AndiDog

+0

Я не могу воспроизвести проблему (у меня нет модуля 'ez_setup', может быть, это имеет значение?). Какая у вас версия setuptools? Проверьте с помощью 'setuptools .__ version__'. – AndiDog

+0

используя setup setup setup, вместо ez_setup, doesnt * change.i использую setuptools-0.6. использование distutils не имеет этой проблемы. – alex

ответ

0

Попробуйте удалить find_packages() заявление и заменить его

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

в качестве альтернативы Вы можете пройти до find_packages():

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

Это произошло для меня, пока я не запустил svn rm dist/foo.tar.gz, а затем он не был жестко связан и не был в полученном tarball. Документация setuptools упоминает другое поведение, основываясь на том, является ли файл под CVS или SVN управления:

include_package_data

Если установлено Правда, это говорит о том Setuptools автоматически включать любые файлы данных, которые он находит внутри вашего каталогов пакетов, которые либо являются под управлением CVS или Subversion, либо указаны в файле вашего файла MANIFEST.in.

Смежные вопросы