Python——将python项目打包为exe
1. 使用pyinstaller打包
- 官网link: https://pyinstaller.readthedocs.io/en/stable/
- 安装: pip install pyinstaller
- 打包步骤
- 进入python项目目录,找到main.py所在路径(入口函数)
- 执行命令:pyinstaller -F main.py (其他参数还有很多,可以自行选择)
- 打包成功后会发现当前目录下会多出 dist、build,dist目录下面就是打包好的exe
- 验证: 执行exe,查看是否成功
2. pyinstaller打包太大问题解决
原因: 使用完整的python环境打包,会包含很多其他的不会使用到的包,所以最终打出来的包就很大,多数都是50m以上
解决方法: 可以创建python虚拟环境,只添加自己项目使用到的python包,就可以极大的减小生成的包
pipenv
- pip Install pipenv(安装pipenv)
- pipenv shell (激活pipenv,执行完成后,代表你已经进入了新建的虚拟环境,不再是完整的python环境,验证方法,可以在执行这条命令前后,分别执行两次pip list,查看安装的包,虚拟环境的包会少很多)
- pipenv install (在虚拟环境中安装会使用到的包)
- pipenv install pyinstaller (需要在虚拟环境中安装python的打包工具,才可以打包)
- pyinstaller -F <python project> 使用虚拟环境打包
tips: 上面的命令是一个连续的步骤,刚开始我使用的时候不知道怎么才能使用到虚拟环境来打包,后来才发现自己忽略了 pipenv shell就是代表你已经进入了虚拟环境中,所以这个时候再执行安装或者打包,其实都是基于自己新建的虚拟环境了。
使用pipenv打出来的包会极大的减小,如果你发现你打包前和打包后,exe的size是一样大的,那肯定是没有使用到虚拟环境。
3. 如何打出32位的exe
如果windows系统是64位,经常会安装64位的python。 这种情况下打出来的exe就是64位的,无法在32位的windows系统上面运行。
解决方案一:
重新安装python,安装32位的python,然后重新打包,就会成为32位
解决方案二:
使用ancoda。待完善