未从python .egg文件安装数据包

2 投票
1 回答
1796 浏览
提问于 2025-04-16 06:14

我正在尝试在一个Python包中包含一些数据文件,使用的是setuptools的package_data选项。然后我通过pkg_resources来访问这些文件。当Python的.egg文件以压缩格式安装时,这一切都运行得很好。但是,当在安装过程中解压这个egg文件时,数据文件却没有被安装。

换句话说,如果我运行:

python setup.py bdist_egg
cd dist
sudo easy_install -z EnrichPy-0.1.001-py2.6.egg

那么egg文件就会被安装(数据安全地压缩在里面),一切正常。

但如果我运行

sudo easy_install -Z EnrichPy-0.1.001-py2.6.egg

那么数据文件就没有被安装。我在dist-packages下有一个叫做 EnrichPy-0.1.001-py2.6.egg/enrichpy/的目录,但里面只有我的源代码文件,没有我的数据文件。

有没有人能建议我该怎么做,才能在easy_install解压egg文件时,让package_data文件也被安装呢?

备注:

这个包可以在 http://github.com/roban/EnrichPy 找到。

我可以通过运行: import enrichpy.yields enrichpy.yields.Data_vdHG().data 来测试。如果没有错误退出,那么pkg_resources就能找到已安装的数据。

1 个回答

1

问题解决了,感谢P.J. Eby在distutils-sig邮件列表上的帮助:

http://mail.python.org/pipermail/distutils-sig/2010-November/017054.html

只需要重命名文件,避免使用'..'这个字符串。

撰写回答