我有一个需要显示一些图像的PyQt应用程序。我看到了:
How can I include package_data without a MANIFEST.in file?
将图像文件包含在软件包安装中的方法。
它在/usr/local/lib/python2.7/dist-packages/mypacakge/images/
现在包含所有文件的方面工作正常。不幸的是,该应用仍未显示图片。
我当前的代码将图像文件作为相对路径(即:images/foo.jpeg
)来解决,我认为这是错误的。但我不知道解决这些问题的正确方法是什么(除非我想使用绝对的/usr/local/lib/python2.7/dist-packages/mypacakge/images/foo.jpeg
,我相信我不会这样做。这似乎是一个常见的问题,但我无法找到有关如何做到这一点的任何资源/答案。
答案 0 :(得分:2)
模块pkg_resources
支持查找包中包含的文件:
import pkg_resources
path = pkg_resources.resource_filename('<package name>', 'images/foo.jpeg')