python打包exe怎么处理路径问题
python在打包的时候 比如 打包的是根目录下的compare.py 这个文件
而你用到了 根目录下image目录下的图片资源 这时候你需要打包image图片资源到exe里面 这时候
(1)你可以 pyinstaller --onefile --add-data "./image/;./image/" compare.py
(2)在代码中使用sys_MEIPASS这个参数 比如使用image图片资源 是这样的 new_image_path=os.path.join(root_path,image/xxx.jpg) 然后在代码中 加入下面这些代码
if getattr(sys, 'frozen', False):
# 执行exe文件
root_path = os.path.join(sys._MEIPASS, '.')
else:
# 本地测试
root_path = '.'
这时候你打包exe运行的时候 会在你的c盘 temp目录下 有个临时文件会存这些图片
第二种情况
如果代码中使用的路径是需要跟生成的exe 同一个目录 比如配置文件
可以这么写
file_paths_test = os.path.dirname(sys.executable)
这个文件路径再加上配置文件的路径 再打包 就可以访问了

浙公网安备 33010602011771号