setuptools:`bdist`包含但不包含`sdist`的数据文件

时间:2011-07-15 23:17:27

标签: 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

的怪癖

1 个答案:

答案 0 :(得分:11)

选择这些文件有不同的来源。 package_data用于从源树进行安装。构建一个源包你还需要一个MANIFEST.in文件。它应该包含recursive-include *.txt之类的东西,或者你需要的东西。