Python: pyinstaller模块,将python脚本,打包成单个exe
最近开发一些小工具给技术部分享使用,提高效率,
但是python代码执行需要对方的本地环境安装python3.6,
并且代码到处传播并不好,
所以专门尝试了一次打包exe
模块:pyinstaller
环境:python3.6 + win10
-
打开cmd命令行
-
安装模块
python -m pip install pyinstaller
- 普通模块到这就安装完了,
- 但是pyinstaller不行,执行各种报错。具体见下文
-
消除报错:
compile
需要c支持- 下载安装 pywin32-221.win32-py3.6.exe
- 这里对应的python为32位版本
- pip安装pyinstaller发行版只支持到python3.4
- 官方develop开发版已经支持3.6了
- 所以这步安装后,还没完,
- 需要手动升级pyinstaller,以支持python3.6
- 从作者的git下载
pyinstaller-develop.zip
- 解压缩后的PyInstaller目录
- 复制到
c:\python36\Lib\site-packages\
- 将之前安装的pyinstaller模块文件覆盖就行了
- 从作者的git下载
-
安装完成:
- 到此python3.6的exe打包模块pyinstaller算是安装完了
-
代码打包:
- 在py脚本的同目录写个打包脚本bat,
- 里面代码如下:
pyinstaller -F -p c:/python36 -i script/LoginResource/login96.ico login.py pause>nul
- 第一行的-F为打成单个exe文件,
- -i为指定ico图标
- -p据说是帮助打包定位python目录,貌似没啥意义
- 最后login.py为你的脚本启动文件,
- 里头import或调用的全都不用管。
-
发布:
- 从bat同目录下的disc目录下,
- 拿到xxxx.exe文件就可以了