1.首先学会了最简单的方法
1)pip install pyinstaller 安装pyinstall
2)pyinstaller aaaa.py 转换,会在当前目录下建两个文件夹,其中一个文件夹里就有exe
注,这种方式更适合于没有界面的python程序,因为是自带控制台的,有界面的python程序反而会很尴尬,因为这种方法会先弹一个控制台出来,再弹你写的界面
2.后来发现可以实现没有控制台的,加个参数就可以
pyinstaller -w aaaa.py
-F 打独立的exe
-i 指定图标
-w 去掉控制台
但是发现了新的问题,打包wxpython失败,打完的包运行不起来:原因可能是依赖的三方的包,这个还不知道要怎么解决
3.以上问题解决了,原因曾经也遇到过,就是项目的解释环境和installers安装的解释环境不是一个;installer 安装在了默认的python解释环境下,打包的程序在另一个解释程序下;这种情况如果没有引入第三方包,不会出问题,但是如果引用了第三方的方,就会 出现默认的环境下的installers找不到项目环境下安装的三方包,而使得打好的包不能运行(https://www.cnblogs.com/mghhzAnne/p/10529745.html),解决办法跟以前的那个问题一样,要么就把installers安装在项目环境下,要么项目用默认的解释环境(这里我用了后者,因为我不知道前者怎么操作,后者用pip就可以安装了)
4.还有一个问题需要注意,就是生成的exe是在cmd 当前文件目录下生产的dist文件夹下,
注:我把pyinstaller的路径写到环境变量里了
5.pyinstaller说明文档:https://pyinstaller.readthedocs.io/en/stable/installation.html
pyinstaller安装的时候,会默认安装很多其他的包,如果想移植到其他地方用,需要把其他包也拷贝过去,也可以报错提醒哪个拷哪个