python - setuptools:数据文件包含在 `bdist` 中,但不包含在 `sdist` 中

标签 python setuptools setup.py

我有一个 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 的怪癖?

最佳答案

选择这些文件有不同的来源。 package_data 用于从源代码树安装。构建一个源码包你还需要一个 MANIFEST.in 文件。它应该包含诸如 recursive-include *.txt 之类的内容,或者您​​需要的任何内容。

关于python - setuptools:数据文件包含在 `bdist` 中,但不包含在 `sdist` 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6714145/

相关文章:

python - 没有 setup.py 的依赖项

python - setuptools python - 项目内导入问题

python - 将 quandl 数据转储到文件

python - setup.py 不为 install_requires 开发使用 wheel 吗?

python - 操作系统错误 : [Errno 13] Permission denied when updating setuptools

python - 如何覆盖 PBR 中的要求?

python - 我如何在 R 中以与 python 相同的方式进行联合绘图(seaborn 包)

Python-文件的列平均值

带有网络存档的 Python 报纸(回归机器)

python-3.x - DistutilsError : Could not find suitable distribution for Requirement. 解析 ('setuptools-scm' )