使用pyinstaller将Python打包为exe文件
当我们完成一个Python项目或一个程序时,希望将Python的py文件打包成在Windows系统下直接可以运行的exe程序,那么pyInstaller就是一个很好的选择。pyInstaller可以将Python程序打包成Windows(当然也包括Linux, Mac OS X, Solaris and AIX)下可执行的EXE文件。
1. 安装pyinstaller
官网下载地址:http://www.pyinstaller.org/downloads.html
可以看到官网提供了两种安装的方式:1)通过pip直接安装;2)下载源码,在本地编译安装。
(1)通过pip安装
方式一:直接安装
pip install pyinstaller
方式二:通过升级的方式更新到较新的版本
pip install --upgrade pyinstaller
方式三:直接安装当前开发版本
pip install https://github.com/pyinstaller/pyinstaller/archive/develop.tar.gz
(2)下载源码,在本地编译安装
访问上述官网下载地址,下载源码安装包,然后解压安装包,打开cmd并进入安装包解压目录,可以看到该目录下有一个setup.py的文件
运行安装指令:
python setup.py install
当看到“Finished processing dependencies for PyInstaller==3.5.dev0+0d289e49b”字样,说明安装成功,也可以通过 pyinstaller -v 命令查看是否安装成功
2.pyinstaller依赖安装
使用pyinstaller需要安装windows拓展Pywin32。
下载地址:https://sourceforge.net/projects/pywin32/files/pywin32/Build 221/
3. pyinstaller使用
先来看一下pyinstalller有哪些那些常用参数:
参数 | 含 义 |
---|---|
-F, --onefile | 打包一个单个文件,只生成一个exe文件。如果你的代码都写在一个.py文件的话,可以用这个,如果是多个.py文件就别用 |
-D, --onedir | 打包多个文件,在dist中生成很多依赖文件,适合以框架形式编写工具代码,代码易于维护,推荐使用 |
--distpath | 指定生成的exe存放的目录(.\dist) |
--workpath | 指定编译中临时文件存放的目录(.\build) |
-i, --icon | 指定exe图标 |
-p, --paths | 指定exe依赖的包、模块 |
-d, --debug | 产生debug版本的可执行文件.编译为debug模式,获取运行中的日志信息 |
--clean | 清理编译时临时文件 |
-c, --console, --nowindowed | 使用控制台(默认方式) |
-w, --windowed, --noconsole | 使用窗口 |
--version-file | 添加exe版本信息 |
-v, --version | 版本信息查看 |
-h, --help | 查看帮助 |
示例:
(1)生成一个控制台程序
pyinstaller test.py
(2)只生成一个EXE文件
pyinstaller -F test.py
(3)只生成一个EXE文件的窗口程序
pyinstaller -F -w test.py
(4)生成一个图标为my.icon的程序
pyinstaller -F --icon=my.icon test.py