python - 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
我认为我不会使用的绝对值)。这似乎是一个很常见的问题,但我找不到任何关于如何做到这一点的资源/答案。
解决方案
模块pkg_resources
支持定位包中包含的文件:
import pkg_resources
path = pkg_resources.resource_filename('<package name>', 'images/foo.jpeg')
推荐阅读
- jquery - 尝试从 ionic 5 中的外部 js 文件调用 jquery
- docker - 如何将 WSL2 中的 Docker 数据移动到不同的驱动器
- javascript - 具有动态名称的剧作家选择框架
- django - Django Elasticsearch,icontains 和多个单词:智能搜索
- mysql - 将值插入具有检查约束 > 0.00 的 DECIMAL 列会导致 SQL 错误 1292 截断不正确的 DOUBLE 值
- python - 如何在python中用空字符串替换零整数?
- sql - 在 SQL 中将字符串转换为日期
- javascript - 如何在 JavaScript 中过滤这些数组?
- r - 如何从 sf 对象的简单特征(即列值)中绘制等高线
- c++ - 将八度矩阵转换为 oct 文件中的 cv::Mat