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
几乎有用到所有元素
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的
要读外部文件的话 可以在data=[] 加文件 data=[('example.txt', '.')]
然后运行命令 pyinstaller hello.spec
(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
填好,环境就又回来了