首页 > 解决方案 > Python - 如何使用额外安装的包数据

问题描述

我有一个 PyQt 应用程序需要显示一些图像。我在:

如何在没有 MANIFEST.in 文件的情况下包含 package_data?

一种在包安装中包含图像文件的方法。

/usr/local/lib/python2.7/dist-packages/mypacakge/images/它在现在包含所有文件的方面工作正常。不幸的是,应用程序仍未显示图像。

我当前的代码将图像文件作为相对路径(即:)images/foo.jpeg,我猜这是错误的。但是我不知道解决它们的正确方法是什么(除非我想使用/usr/local/lib/python2.7/dist-packages/mypacakge/images/foo.jpeg我认为我不会使用的绝对值)。这似乎是一个很常见的问题,但我找不到任何关于如何做到这一点的资源/答案。

标签: pythonpyqtsetup.py

解决方案


模块pkg_resources支持定位包中包含的文件:

import pkg_resources

path = pkg_resources.resource_filename('<package name>', 'images/foo.jpeg')

推荐阅读