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)

这个文件路径再加上配置文件的路径 再打包 就可以访问了

posted @   以泪为证  阅读(137)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· AI与.NET技术实操系列(六):基于图像分类模型对图像进行分类
点击右上角即可分享
微信分享提示