未从 python .egg 文件安装包数据
我正在尝试使用 setuptools package_data 选项将一些数据文件包含在 python 包中。然后我使用 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
我可以通过以下方式测试它跑步: 导入richpy.yields richpy.yields.Data_vdHG().data 如果退出时没有错误,则 pkg_resources 正在查找已安装的数据。
I'm trying to include some data files in a python package using the setuptools package_data option. I'm then accessing the files with pkg_resources. This works perfectly when the python .egg file is installed as-is (i.e. still zipped). But when the egg file is unzipped during installation, the data files are not installed.
In other words, if I run:
python setup.py bdist_egg
cd dist
sudo easy_install -z EnrichPy-0.1.001-py2.6.egg
then the egg file is installed (with the data safely zipped inside) and everything works.
On the other hand, if I run
sudo easy_install -Z EnrichPy-0.1.001-py2.6.egg
then the data files are not installed. I have a directory calledEnrichPy-0.1.001-py2.6.egg/enrichpy/
under dist-packages, but it contains only my source files, not my data files.
Can anyone suggest what I need to do to get the package_data files to be installed when easy_install unzips the egg file?
Notes:
The package is available at http://github.com/roban/EnrichPy
I can test it by running:
import enrichpy.yields
enrichpy.yields.Data_vdHG().data
If that exits without errors, then pkg_resources is finding the installed data.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
问题已解决,感谢 PJ Eby 在 distutils-sig 电子邮件列表上的帮助:
http://mail.python.org/pipermail/distutils-sig/2010-November/017054.html
只需重命名文件以避免“..”字符串。
Problem solved, thanks to help from P.J. Eby on the distutils-sig email list:
http://mail.python.org/pipermail/distutils-sig/2010-November/017054.html
Just needed to rename files to avoid the '..' string.