我一直在摆弄MANIFEST.IN
文件和setup
参数package_data
和data_files
(distutils
和setuptools
)几个小时,在构建和安装python包时,我无法弄清楚如何包含数据文件。我在python setup.py sdist
运行时获得了一些结果,但在python setup.py install --user
而不是pip install . --user
时却得到了结果。
让我们考虑以下简单的包结构:
mypackage/
mymodule/
__init__.py
gui.py
data/
icons/
icon1.png
MANIFEST.in
setup.py
我应该在setup.py
和MANIFEST.in
中放置什么来在我的构建和安装目录中复制data/icons/icon1.png
?
我更喜欢选择加入解决方案(声明所有必须包含的文件)。
编辑:
事实证明,当我使用python setup.py install --user
时,data_files
使用setup()
参数可以使其正常工作。问题出在pip install . --user
,这是安装我的软件的首选方式。我发现这很奇怪,我一直认为pip install
大致与python setup.py install
做同样的事情。