python setup.py问题

python setup.py问题,python,setup.py,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 - 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是否也知道安装这些子包?

否,如果您只需要整个包,指定其名称(即
pckA
)就足够了-无需列出其中的所有模块
distutils
将递归地发现它们

因此,在你的情况下:

packages=['pckA', 'pckB'],
这就是诀窍。以下是一段引自:

packages选项告诉 要处理的Distutils(构建、, 分发、安装等)所有纯 每个包中都有Python模块 在包裹清单中提到。在里面 为了做到这一点,当然有 是包裹之间的通信 中的名称和目录 文件系统



如果您不想要完整的软件包,而是希望只包含特定的模块,请使用
py_modules
选项。

此问题的标题非常通用,您能否将其改写以帮助发现?请注意,软件包中包含子模块,但不包含子包。