31

我正在尝试创建一个 Python 包,并且我有一个这样的目录结构:

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

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

当我python setup.py installdist-packages/mypkg/module1. 我只看到 Python 文件而不是z.txt.

我有z.txt两个MANIFEST.insetup.py

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

我也尝试添加文件,data_files但是在/usr/local. 我想将它保存在源代码目录中,因为代码使用该数据。

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

4

2 回答 2

14

尝试使用 setuptools 而不是 distutils。

于 2013-01-20T14:36:54.527 回答
2

更新:当我开始使用 setuptools 而不是 distutils.core 时,它​​得到了修复。我认为 distutils 不同意清单是一些问题,而 setuptools 工作时没有对代码进行任何更改。我建议将来使用 setuptools。使用此处的链接:设置工具 - 开发人员指南

于 2013-01-20T18:21:16.063 回答