美文网首页pythonPython
Python 从GUI到exe

Python 从GUI到exe

作者: 所以suoyi | 来源:发表于2021-09-26 12:51 被阅读0次
    1、pycharm 创建一个新的虚拟环境

    若想最后打包成的.exe文件小一点,从源头开始,减少无用的包
    【pycharm创建虚拟环境及具体(意义)说明】
    事实证明是有用的,一个小小的功能压缩文件300多M啊,重建一个强多了,就20M。。。

    2、写你的脚本.py,用什么包下什么包

    pip install PySimpleGUI 写GUI的包 好用

    import PySimpleGUI as sg
    

    这个包具体用法,找到一个集大成者的脚本demo:https://github.com/PySimpleGUI/PySimpleGUI/blob/069d1d08dc7ec19a8c59d5c13f3b8d60115c286b/DemoPrograms/Demo_All_Elements.py
    几乎有用到所有元素

    这种界面也很大气
    https://github.com/PySimpleGUI/PySimpleGUI/blob/069d1d08dc7ec19a8c59d5c13f3b8d60115c286b/DemoPrograms/Demo_Dashboard.py

    3、打包

    pip install pyinstaller
    一定不要忘记在虚拟环境里重新下载pyinstaller,否则会用你之前的,多下很多的依赖库
    pyinstaller -D -w -i icon C:\Users\mal\PycharmProjects\WriteGui\yishuan_GUI.py
    -D:打包出文件,启动exe很快,在dist文件夹里 ?? 好像不加这个也行
    -F:打包出一个exe,启动速度慢
    -i:图标文件,不用也行,就是丑了点
    --clean:标志清除pyinstaller缓存

    打包多个.py时:上面的命令后面跟-p 1.py -p 2.py -p 3.py,全用-p跟着就行

    4、生成的文件

    https://blog.csdn.net/dreamstar613/article/details/106644341/

    pyinstaller 打包 直接使用命令  pyinstaller [-F/-D] [-w/-c] [-i xxx.ico] hello.py   
    
     最简单的打包:切换到hello.py所在目录 打开cmd ,执行命令  pyinstaller hello.py,就打包完成。
     在当前目录下会生成build文件夹和 dist文件夹 和 hello.spec文件。
    
    (1)hello.spec 文件 pyinstaller 就是根据这个文件种的配置来生成hello.exe的
    (2)dist文件夹内的hello文件夹内 有可执行文件hello.exe。因为默认的-D,如果要在别的电脑运行,需要把这个
    hello文件夹整个复制过去。
    (3)build文件夹的作用相当于PyInstaller的工作空间,PyInstaller运行相关的文件和日志都在这个文件夹中,
    打包完成后可以直接删除。
    ————————————————
    版权声明:本文为CSDN博主「dream_heheda」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
    原文链接:https://blog.csdn.net/dreamstar613/article/details/106644341/
    

    新建虚拟环境还会多个venv文件夹(venv这是你的python环境叫啥名 这文件夹就叫啥名)
    最重要的就是dist文件夹,把它复制出来就行,里面的exe搞个快捷方式出来
    venv也得复制出来 这是它的环境 ------ ??不加-D好像就不要这个了

    5、出错记录

    (1)忘重新下载pyinstaller,导致打包的文件特别多

    (2)打包好的exe,使用时出现错误
     (i)“SupportingPluginAvailableButNotInstalled: Please install one of these plugins for read data in 'xlsx': pyexcel-xls,pyexcel-xlsx”,重新下载也没啥用,
     (ii)错误记录里有“pyexcel_io/get_data”什么的

    网上搜索得知可能是 pyinstaller 与 pyexcel_xls 冲突,
    法一:所以把from pyexcel_xls import get_data 改成了 from pyexcel_xlsx import get_data,结果还ok,算是正常了
    法二:pyexcel_xls 0.6.2 版本 不冲突,也正好能用get_data (旧版本叫 read_data,旧版本脚本里能用,但打包成exe就不行了)这个好,xls,xlsx都能读

    (3)快捷方式在别的电脑无法正常使用
    是因为设置的快捷方式是读自己路径,可以右键管理设置使读相对路径(但是我不会),或者新建个快捷方式就好了嘛
    (4)pycharm 下方 local 失去了 venv 这个环境(因为把文件倒来倒去)
    File - Setting - python interpreter - 齿轮 - Add - exist environment - 把想要的 venv - Script - python.exe填好,环境就又回来了

    相关文章

      网友评论

        本文标题:Python 从GUI到exe

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