Pyinstaller打包exe,丢失图标等问题 |
您所在的位置:网站首页 › 快捷方式重命名后图标不见了 › Pyinstaller打包exe,丢失图标等问题 |
Pyinstaller打包exe,丢失图标等问题
一、原因
exe运行时会解压一个名为’_MEI*‘的资源文件夹到电脑的临时目录,程序结束时删除。 程序里使用’\图标.png’这样的路径,exe运行时只会搜自己所在目录,当然找不到。 二、解决方案1、确保图片在这个临时资源文件夹里 这个可以通过修’.spec’配置文件,将图片添加进去。 (注:.spec就是Pyinstaller上次打包生成的文件,在你的python项目目录下。) 这是我用到的三个图片,其实就是加三条元组到’binaries’列表中 逗号前是图片在python项目里的地址,逗号后是打包进’_MEI*'临时文件夹的地址。 我是里边建了一个’img’文件夹存放图片,如直接放根目录用点就行,如(’./img/info.png’,’.’) 最后,打包时运行pyinstaller 程序入口.spec,就可以将图片资源添加进去了。 (注:其它外部资源也可以这样添加,比如.ini、.txt、.exe等等) 2、确保程序能找到这个路径 因为每次临时目录的名字都不一样,所以需要一个能动态获取这个路径的方法。 def getRealPath(s): # 获取exe解压目录的绝对路径 import os, sys p = os.path.realpath(sys.path[0]) p = p.replace(r'\base_library.zip', '') p = p + s return p s=r'\img\info.png' realPath=getRealPath(s) print(realPath)代码奉上,核心语句是’os.path.realpath(sys.path[0])’。 Python运行效果如下: C:\Users\GuoDaXia\Anaconda3\envs\temp\python.exe D:/untitled1/测试.py D:\untitled1\img\info.png Process finished with exit code 0打包成exe,拖到cmd窗口里运行试试吧。 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |