pyinstaller封装python文件并替换图标

2020-10-20  本文已影响0人  仙姑本姑

安装pyinstaller

使用pip命令安装,注意pip版本

pip install pyinstaller

可在Scripts(D:\Python\Python36\Scripts)文件夹下查看是否有pyinstaller.exe程序确认是否安装成功。

封装exe文件

python pyinstaller.exe -F py文件地址

替换生成exe文件图标

python pyinstaller.exe -F -i icon图标地址 py文件地址
536407dcebbe68f2d3d20d335feb2f3.png

倒数第二行为生成exe文件所在地址

注意:icon图标格式要求比较严格,需为16*16大小的.ico文件,可将png文件通过在线工具进行相应转换。

icon图标转换网址:
https://www.png2ico.net/#
http://www.ico51.cn/

封装时出现的错误及解决方式

报错:\AppData\Local\Temp_MEI4802\pyecharts\datasets\map_filename.json

File “site-packages\pyecharts\datasets_init_.py”, line 93, in
FileNotFoundError: [Errno 2] No such file or directory:
‘C:\Users\???\AppData\Local\Temp\_MEI4802\pyecharts\datasets\map_filename.json’

报错指出pyecharts\datasets_init_.py文件的第93行,

__HERE = os.path.abspath(os.path.dirname(__file__))
with open(os.path.join(__HERE, "map_filename.json"), "r", encoding="utf8") as f:
    FILENAMES: FuzzyDict = FuzzyDict()
    for k, v in json.load(f).items():
        FILENAMES[k] = v

with open(os.path.join(__HERE, "city_coordinates.json"), "r", encoding="utf8") as f:
    COORDINATES: FuzzyDict = FuzzyDict()
    for k, v in json.load(f).items():
        COORDINATES[k] = v

问题原因为:os.path.abspath(XXX) 在封装前是exe所在的路径,封装后变成了 C:\Users\???\AppData\Local\Temp_MEI4802\XXX

此时可手动更改__HERE路径为项目路径。

上一篇下一篇

猜你喜欢

热点阅读