setuptools:数据文件包含在“bdist”中,但不包含在“sdist”中

发布于 2024-11-24 01:26:30 字数 576 浏览 2 评论 0原文

我有一个如下所示的 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

慢慢从新开始 2024-12-01 01:26:30

选择这些文件有不同的来源。 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.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文