【问题标题】:MANIFEST.in, package_data, and data_files clarification?MANIFEST.in、package_data 和 data_files 澄清?
【发布时间】:2013-01-03 13:05:42
【问题描述】:

我正在尝试创建一个 Python 包,我的目录结构如下:

mypkg/
├── __init__.py
├── module1
│   ├── x.py
│   ├── y.py
│   └── z.txt
└── module2
    ├── a.py
    └── b.py

然后我在MANIFEST.in 中添加了所有文件,当我检查创建的存档时,它包含所有文件。

当我在dist-packages/mypkg/module1 中执行python setup.py install 时。我只看到 Python 文件而不是 z.txt

我在MANIFEST.insetup.py 中都有z.txt

setup (
    packages = [
        'mypkg',
        'mypkg.module1',
        'mypkg.module2',
    ],
    package_data = {
        'mypkg': ['module1/z.txt']
    },
    include_package_data = True, 
    ...
)

我也尝试将文件添加为data_files,但在/usr/local 中创建了一个目录。当代码使用该数据时,我想将其保留在源代码目录中。

我已阅读下面列出的帖子,但我一直对在setup.py install 之后将z.txt 保持在正确位置的正确方法感到困惑。

【问题讨论】:

标签: python setuptools distutils


【解决方案1】:

尝试使用 setuptools 而不是 distutils。

【讨论】:

    【解决方案2】:

    更新:当我开始使用 setuptools 而不是 distutils.core 时,它​​得到了修复。我认为 distutils 不同意清单是一些问题,而 setuptools 工作时没有对代码进行任何更改。我建议将来使用 setuptools。使用链接here : setup tools- developers guide

    【讨论】:

      猜你喜欢
      • 2023-03-16
      • 2013-12-06
      • 1970-01-01
      • 2017-02-19
      • 1970-01-01
      • 1970-01-01
      • 2019-11-15
      • 2013-06-05
      • 2013-07-30
      相关资源
      最近更新 更多