zoukankan      html  css  js  c++  java
  • 用pyinstaller打包一个exe程序

    打包单个exe文件

    -F 选项可以打出一个exe文件,默认是 -D,意思是打成一个文件夹。

    pyinstaller -F TestDataGen.py

    打出的桌面程序去掉命令行黑框

    -w 选项可以打桌面程序,去掉命令行黑框

    pyinstaller -F -w TestDataGen.py

    修改程序默认图标

    -i 可以设置图标路径,将图标放在根目录:

    pyinstaller -F -w -i gen.ico TestDataGen.py

    如下:

    修改程序左上角的’tk’图标

    # ...省略部分
    root = Tk(className='数据生成器')
    root.iconbitmap('gen.ico')  # 加图标
    app = App(root)
    root.mainloop()

    如下:

    替换’tk’图标后,打包的exe执行失败

    原因是图标没有打进去,或者打包成文件夹,或者把图标转化成base64数据:

    # 这段程序可将图标gen.ico转换成icon.py文件里的base64数据
    import base64
    open_icon = open("gen.ico","rb")
    b64str = base64.b64encode(open_icon.read())
    open_icon.close()
    write_data = "img = '%s'" % b64str
    f = open("icon.py","w+")
    f.write(write_data)
    f.close()

    修改主程序:

    # ...省略部分
    import base64
    from icon import img
    import os
    
    # 将import进来的icon.py里的数据转换成临时文件tmp.ico,作为图标
    tmp = open("tmp.ico","wb+")
    tmp.write(base64.b64decode(img))
    tmp.close()
    
    root = Tk(className='数据生成器')
    app = App(root)
    root.iconbitmap('tmp.ico')  # 加图标
    os.remove("tmp.ico")  # 删掉临时文件
    root.mainloop()

    再执行打包命令

    pyinstaller -F -w -i gen.ico TestDataGen.py

    最终展示结果:

    作者:含笑半步颠√

    博客链接:https://www.cnblogs.com/lixy-88428977

    声明:本文为博主学习感悟总结,水平有限,如果不当,欢迎指正。如果您认为还不错,欢迎转载。转载与引用请注明作者及出处。

  • 相关阅读:
    Memcache
    在.net中读写config文件的各种方法
    Visual Studio 2013 Web开发、新增功能:“Browser Link”
    Web.Config文件中使用configSource
    方正S4101g笔记本电脑搜不到无线网络
    *.bz2和*.gz分别是什么压缩格式
    HTTP 错误 500.19
    【Java】得到当前股票信息
    【Java】得到当前系统时间,精确到毫秒
    【Java】SHA加密
  • 原文地址:https://www.cnblogs.com/lixy-88428977/p/9559374.html
Copyright © 2011-2022 走看看