python setup.py问题

时间:2011-05-10 06:09:40

标签: python setup.py

所以我有一个像这样的文件夹结构:

pckA - core
     - io
pckB - core
     - io
     - main

现在我必须为这两个包创建一个setup.py文件。我目前的做法是:

from distutils.core import setup
import setuptools

setup(
    name='ProjectExternals',
    version='0.1dev',
    packages=["pckA","pckA.core","pckA.io","pckB","pckB.core","pckB.io","pckB.main"],
    license='Not decided yet',
    author='',
    author_email='',
    long_description="",
    install_requires=["numpy","quantities"]
)

这个setup.py与pckA和pckB位于同一个文件夹中。所以我的问题是:是否需要添加所有子包,如pckA.core等,或者setuptools是否知道安装这些?

1 个答案:

答案 0 :(得分:3)

不,如果您只想要整个包,指定其名称(即pckA)就足够了 - 不需要列出其中的所有模块。 distutils会以递归方式发现它们。

所以在你的情况下:

packages=['pckA', 'pckB'],

诀窍。以下是the docs的引用:

  

packages选项告诉你   Distutils to process(build,build,   所有纯粹的分发,安装等   每个包中都有Python模块   在包列表中提到。在   为了做到这一点,当然,有   成为包之间的对应关系   中的名称和目录   文件系统。


如果您想要整个软件包但只想包含特定模块,请改用py_modules选项。