我正在尝试创建一个Python包,我有一个像这样的目录结构:
mypkg/
├── __init__.py
├── module1
│ ├── x.py
│ ├── y.py
│ └── z.txt
└── module2
├── a.py
└── b.py
然后我添加了MANIFEST.in
中的所有文件,当我检查创建的存档时,它包含了所有文件。
当我在python setup.py install
中dist-packages/mypkg/module1
时。我只看到Python文件而不是z.txt
。
我z.txt
和MANIFEST.in
都有setup.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
保持在正确位置的正确方法感到困惑。
答案 0 :(得分:13)
尝试使用setuptools而不是distutils。
答案 1 :(得分:2)
更新:当我开始使用setuptools而不是distutils.core时,它已得到修复。我认为这是一个问题,distutils不同意清单,而setuptools工作没有任何代码更改。我建议将来使用setuptools。使用链接here : setup tools- developers guide