使用 setuptools/distutils 包含包数据
问题:
尽管遵循了建议的步骤使用 setuptools 包含软件包数据时,安装程序无法提取相关文件。以下设置代码应启用此功能:
<code class="python">setup( name='myapp', packages=find_packages(), package_data={ 'myapp': ['data/*.txt'], }, include_package_data=True, zip_safe=False, install_requires=['distribute'], )</code>
说明:
由于 package_data 和更可靠的 MANIFEST.in 之间的细微差别而出现此问题。 package_data 主要在构建二进制包(例如,python setup.py bdist ...)时使用,但它不适用于创建源包(例如,python setup.py sdist ...)。
解决方案:
要有效地包含二进制和源发行版的包数据,建议使用 MANIFEST.in。这是一个示例:
include appname/data/*.txt
将此文件放置在项目的根目录下。它将指示 bdist 和 sdist 命令包含指定的数据文件。此方法可确保无论构建的分发类型如何,所需的数据都被正确打包。
以上是为什么我的 setup.py 无法包含包数据?的详细内容。更多信息请关注PHP中文网其他相关文章!