赞
踩
单文件打包添加文件资源(-F:单文件,-w:隐藏命令行):
pyinstaller -Fw --add-data img\*.png;img MyApp.py
用Pyinstaller打包单文件程序,程序运行时资源会解压到一个_MEI开头的临时文件夹中:
所以直接用open("img/photo.png", ...)这种格式去访问文件会报文件找不到的错误。
网上大多数的方法都比较麻烦,以下是最简单的解决方法:
- from pathlib import Path
- SRC_PATH = Path.absolute(Path(__file__)).parent # 获取临时目录路径对象
-
- # 使用示例:
- file_path = str(SRC_PATH / "img/photo.png") # 拼接获得文件绝对路径字符串
- window.setWindowIcon(QIcon(file_path)))
打包成exe后控制台的输出结果:
操作文件时用这里的file_path就不会报找不到文件的错误了。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。