我在尝试安装我创建的Python包时遇到问题。 该包包括在包内使用的位图图像(用于OCR)。
我的文件夹结构如下:
mypackage
- mypackage
- media
- template.bmp
- module1.py
- module2.py
- etc...
- tests
- MANIFEST.in
- setup.py
template1.bmp由module1.py使用。
MANIFEST.in文件:
include mypackage/media/template.bmp
setup.py:
setup(
....
packages = find_packages(exclude=["*.tests", "*.tests.*", "tests.*", "tests"]),
include_package_data=True,
package_data={'mypackage': ['media/template.bmp']},
...
)
当我跑步时
python setup.py sdist
我可以验证媒体文件夹是否与.egg文件中的template.bmp一起包含在内。但是,使用
引用模块中的位图时directory = os.path.dirname(os.path.abspath(__file__))
template_path = directory + '/media/template.bmp'
cv2.imread(template_path, 0)
我找不到文件错误。目录变量如下:
'C:\\anaconda3\\lib\\site-packages\\mypackage-0.0.1-py3.6.egg\\mypackage'
我错过了什么吗?
答案 0 :(得分:0)
使用pkg_resources解决了我的问题。
template_path = pkg_resources.resource_filename(__name__, '/media/template.bmp')