繁体   English   中英

setuptools在构建中包括dist /文件夹

[英]setuptools is including dist/ folder in build

我正在使用setuptools创建sdist包并将其上传到PyPI。

但是,每次我运行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
...

这一直发生在我身上,直到我运行svn rm dist/foo.tar.gz ,然后它不再是硬链接,也不在生成的tarball中。 setuptools的文档确实根据文件是在CVS还是SVN控制下提到了不同的行为:

include_package_data

如果设置为True,这将告诉setuptools自动将在CVS或Subversion控制下或由MANIFEST.in文件指定的数据文件包含在包目录中。

尝试删除find_packages()语句并将其替换为

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

您也可以将参数传递给find_packages()

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM