setuptools:数据文件包含在“bdist”中,但不包含在“sdist”中
我有一个如下所示的 setup.py
文件:
#!/usr/bin/env python
from setuptools import setup, find_packages
setup(
name="foo",
version="1.0",
packages=find_packages(),
include_package_data=True,
package_data={
"": ["*"],
},
)
和一个如下所示的 foo
包:
foo/__init__.py
foo/bar.txt
当我运行 setup.py bdist
时>,bar.txt
文件(正确地)包含在发行版中……但是当我使用 setup.py sdist
时,它却没有。
这是怎么回事?我是否误解了package_data
的含义?或者这是 setuptools 的一个怪癖?
I've got a setup.py
file which looks like this:
#!/usr/bin/env python
from setuptools import setup, find_packages
setup(
name="foo",
version="1.0",
packages=find_packages(),
include_package_data=True,
package_data={
"": ["*"],
},
)
And a package foo
which looks like this:
foo/__init__.py
foo/bar.txt
When I run setup.py bdist
, the bar.txt
file is (correctly) included in the distribution… But when I use setup.py sdist
it isn't.
What's up with that? Am I misunderstanding the meaning of package_data
? Or is this a quirk of setuptools
?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
选择这些文件有不同的来源。 package_data 用于从源树安装。构建源码包还需要一个MANIFEST.in 文件。它应该包含类似
recursive-include *.txt
的内容,或者您需要的任何内容。There are different sources for selecting those files. The package_data is used for installing from the source tree. The build a source package you also need a MANIFEST.in file. It should contain something like
recursive-include *.txt
, or whatever you need.