使用python的pyinstaller打包文件成exe文件运行时找不到文件路径问题解决方法
·
#使用python的pyinstaller打包文件成exe文件运行时找不到文件路径问题解决方法
问题原因:
开发环境结构:
D:/Project/
├── src/
│ └── main.py
├── BpNet/
│ └── BP_zhanse/
│ └── BP_zhanse.h5
└── …
打包后结构:
C:/Temp/_MEI12345/ # sys._MEIPASS
├── main.exe
├── BpNet/
│ └── BP_zhanse/
│ └── BP_zhanse.h5
└── …
打包后程序运行时,sys._MEIPASS指向C:/Temp/_MEI12345/,而不是D:/Project/,所以相对路径会找不到文件。
解决方法:
- 将文件路径全部换为相对路径,比如我的文件相对路径为filepath=r"8\test.md"
- 使用下面的函数代码
import os
import sys
_PROJECT_ROOT = os.path.abspath(
os.path.join(os.path.dirname(__file__), '..', '..')
) # 指向 D:\VScode_files\GUI_QT5\Final
def resource_path(relative_path: str) -> str:
if getattr(sys, 'frozen', False) and hasattr(sys, '_MEIPASS'):
base_path = sys._MEIPASS
else:
base_path = _PROJECT_ROOT
return os.path.join(base_path, relative_path)on
- 将所有涉及到路径的导入都换成使用resource_path函数,filepath=resource_path(your_filepath)
- 然后再使用pyinstaller打包
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)