安装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文件地址
倒数第二行为生成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路径为项目路径。