首页  >  文章  >  后端开发  >  如何使用 setuptools/distutils 正确包含包数据?

如何使用 setuptools/distutils 正确包含包数据?

Susan Sarandon
Susan Sarandon原创
2024-11-03 22:16:03330浏览

How to Properly Include Package Data with setuptools/distutils?

使用 setuptools/distutils 包含包数据

使用 setuptools 配置包安装时,合并 package_data 文件可能会出现困难。本文介绍了正确的方法,并提供了常见问题的解决方案。

不正确的方法

不正确的方法涉及定义 package_data 并将 include_package_data 设置为 True,如下所示在提供的示例中看到:

<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 仅在构建二进制包(例如 python setup.py bdist ...)时使用,但在构建源包(例如 python setup.py bdist )时不使用。 py sdist ...)。

正确的方法是使用 MANIFEST.in 指定二进制和源发行版中包含的文件。以下是 MANIFEST.in 文件的示例:

include *.txt
recursive-include myapp/data *

通过使用 MANIFEST.in,您可以确保包含所有必需的包数据​​,无论构建的分发类型如何。

以上是如何使用 setuptools/distutils 正确包含包数据?的详细内容。更多信息请关注PHP中文网其他相关文章!

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