首页  >  文章  >  后端开发  >  为什么我的 setup.py 无法包含包数据?

为什么我的 setup.py 无法包含包数据?

Linda Hamilton
Linda Hamilton原创
2024-11-02 15:17:29635浏览

Why Does My `setup.py` Fail to Include Package Data?

使用 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中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn