除了Ned的答案(这是核心问题)之外,还有一些注意事项:
Distutils不会在site-packages
(或dist-packages
在Debian / Ubuntu上)的每个项目子目录中安装Python软件包和模块:site-packages
如您所见,它们直接安装在中。因此,whyteboard- xx
sdist中的包含目录将不会以最终安装的形式存在。
这意味着您应该谨慎地命名您的名称data_files
,以阐明它们属于哪个项目,因为这些文件/目录直接安装在全局site- packages
目录中,而不是在任何包含whyteboard
目录中。
或者你可以反而让你的数据package_data
中的whyteboard
包(这意味着它需要生活里面那个包,即旁__init__.py
),然后这不是一个问题。
最后,同时包含whyteboard.py
模块py_modules
和whyteboard/__init__.py
包并没有多大意义packages
。两者是互斥的,并且如果两者都使用,则whyteboard.py
导入将忽略该模块,而使用相同名称的软件包。