美文网首页
pyinstaller封装python文件并替换图标

pyinstaller封装python文件并替换图标

作者: 仙姑本姑 | 来源:发表于2020-10-20 10:39 被阅读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路径为项目路径。

    相关文章

      网友评论

          本文标题:pyinstaller封装python文件并替换图标

          本文链接:https://www.haomeiwen.com/subject/ydnrmktx.html