因为
packages在子树中不执行任何程序包查找。向中添加软件包
packages将仅包括软件包本身和所有直接子模块,而没有子软件包。
例如,如果您的源代码树的包中
spam包含一个模块
eggs和子包
bacon:
src└── spam ├── __init__.py ├── eggs.py └── bacon └── __init__.py
指定
packages=['spam']将仅包含
spam和
spam.eggs,但不包括
spam.bacon,因此
spam.bacon将不会安装。您必须单独添加它以包含完整的源代码库:
packages=['spam','spam.bacon']。
为了自动构建
packages列表,
setuptools
提供了一个方便的功能
find_packages:
from setuptools import find_packages, setupsetup( packages=find_packages(), ...)



