本方法弊端很大!不建议采用!
建议使用更加友好的方法:
参考:
https://segmentfault.com/a/1190000016087451
https://www.cnblogs.com/aoede-jacqueline/archive/2019/07/25/11244714.html
为什么要生成可执行文件
- 不需要安装对应的编程环境
- 可以将你的应用闭源
- 用户可以方便、快捷的直接使用
缺点:程序很大。
准备Python项目/源文件
hello.py:
import os
print(\'Hello Python!\')
os.system("pause");
或
import os
if __name__ == \'__main__\' :
print(\'Hello Python!\')
os.system("pause");
安装pyinstaller
在设置好conda软件源为清华开源站之后,Windows开始菜单以管理员模式运行Anaconda Prompt:
conda install pyinstaller
检查pyinstaller安装成功与否:
pyinstaller -v
pyinstaller命令参数说明
pyinstaller参数作用
-F
表示生成单个可执行文件-D
–onedir 创建一个目录,包含exe文件,但会依赖很多文件(默认选项)-w
表示去掉控制台窗口,这在GUI界面时非常有用。不过如果是命令行程序的话那就把这个选项删除吧-c
–console
,–nowindowed
使用控制台,无界面(默认)-p
表示你自己自定义需要加载的类路径,一般情况下用不到-i
表示可执行文件的ICO图标文件- 其他参数,可以通过
pyinstaller --help
查看
开始打包
在Anaconda Prompt命令行里进入要打包的脚本所在目录,执行:
pyinstaller -F -i favicon.ico nhdz.py
打包完成后,进入到当前目录下,会发现多了__pycache__
、build
、dist
、nhdz.spec
这四个文件夹或者文件,其中打包好的exe应用在dist
目录下面,可以把它拷贝到其他地方直接使用(无需Python环境)。
封装exe为安装包
- 这一步其实很简单,选中exe程序,右键
添加到压缩文件...
. - 勾选
创建自解压格式压缩文件
和锁定压缩文件
,压缩文件名为installer.exe
,压缩文件格式保持默认为RAR
格式. - 选择
高级
选项卡,点击自解压文件选项
. - 在自解压文件选项中设置选项,比如快捷方式,图标,是否设置密码等等.
注意
- 打包完成后就可以分享给其他人了.
- 建议打包完成后,自己安装一次试试看看能不能正常运行.
- 使用WinRAR打包的程序其实就是绿色程序, 没有注册表等信息.
- 卸载的时候直接删除文件夹和对应的快捷方式就行.
===
上面的打包出来的EXE很大!使用下面的方法可以减小体积
===
#建立虚拟环境packEnv
conda create --name packEnv python=3.6
#进入虚拟环境(上一步可省略,因为没有虚拟环境的话会自动建立一个)
activate packEnv
#安装模块.主要是pysimplegui,pyqt,numpy(太高版本也不行)等等,你的py里用到的模块
conda install numpy=1.16.4
#打包的模块也要安装
conda install pyinstaller
#开始打包
pyinstaller -F -i hello.ico hello.py