我正在尝试创建一个 Python 包,并且目录结构如下:
mypkg/
├── __init__.py
├── module1
│ ├── x.py
│ ├── y.py
│ └── z.txt
└── module2
├── a.py
└── b.py
然后我将所有文件添加到MANIFEST.in
当我检查创建的存档时,它包含所有文件。
当我做python setup.py install
in the dist-packages/mypkg/module1
。我只看到 Python 文件,看不到z.txt
.
I have z.txt
同时MANIFEST.in
and 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
.
- MANIFEST.in 在“python setup.py install”上被忽略 - 没有安装数据文件? https://stackoverflow.com/questions/3596979/manifest-in-ignored-on-python-setup-py-install-no-data-files-installed/3597263#3597263
- 使用 setup.py 将数据文件安装到站点包中 https://stackoverflow.com/questions/9689816/installing-data-files-into-site-packages-with-setup-py
- http://blog.codekills.net/2011/07/15/lies,-more-lies-and-python-packaging-documentation-on--package_data-/ http://blog.codekills.net/2011/07/15/lies,-more-lies-and-python-packaging-documentation-on--package_data-/