2010-09-28 80 views
1

dist /文件夹我正在使用setuptools创建并上传一个sdist包到PyPI。setuptools包含构建

然而,每次我运行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命令通常不会那样做。也许你在'data_files'中指定了“dist”? – AndiDog 2010-09-28 21:48:54

+0

我不能重现这个问题(我没有'ez_setup'模块,也许这有所作为?)。什么是你的setuptools版本?用'setuptools .__ version__'检查。 – AndiDog 2010-09-29 12:51:34

+0

使用安装形式setuputils而不是ez_setup,doesnt * change.i使用setuptools-0.6。使用distutils没有这个问题。 – alex 2010-10-01 13:12:50

回答

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

如果设置为True,这告诉setuptools的工具,自动发现内部的任何 数据文件的软件包目录,在CVS或Subversion控制下为 ,或者由您的MANIFEST.in文件指定的目录。