小编典典

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

all

使用 setuptools
时,我无法让安装程序拉入任何package_data文件。我读过的所有内容都表明以下是正确的方法。有人可以建议吗?

setup(
   name='myapp',
   packages=find_packages(),
   package_data={
      'myapp': ['data/*.txt'],
   },
   include_package_data=True,
   zip_safe=False,
   install_requires=['distribute'],
)

myapp/data/数据文件的位置在哪里。


阅读 78

收藏
2022-08-08

共1个答案

小编典典

我意识到这是一个古老的问题,但对于通过谷歌找到他们的方式的人来说:这
package_data是一个低调的、肮脏的谎言。它仅在构建 二进制
包(python setup.py bdist ...)时使用,但在构建源包( )时 python setup.py sdist ...使用。这当然是荒谬的——人们会期望构建源代码分发会产生一组文件,这些文件可以发送给其他人以构建二进制分发。

在任何情况下,使用MANIFEST.in都适用 二进制和源代码分发。

2022-08-08