【发布时间】: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.in 和setup.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 保持在正确位置的正确方法感到困惑。
【问题讨论】:
-
更新:当我开始使用 setuptools 而不是 distutils.core 时,它得到了修复。我认为 distutils 不同意清单是一些问题,而 setuptools 工作时没有对代码进行任何更改。我建议将来使用 setuptools。使用链接 [此处][1]。 [1]:peak.telecommunity.com/DevCenter/setuptools#developer-s-guide
-
最小可运行已发布工作示例:stackoverflow.com/questions/3596979/…
标签: python setuptools distutils