使用pyqt制作完成的软件,一般都是需要打包成exe后才能给别人使用,因为使用者的环境中可能没有相关的运行环境,比如pyqt运行需要pip安装多种pyqt包,甚至于用户环境中都没有python环境,此时就需要将python脚本打包成相应的exe格式。以下就是相关的简单使用。
pyinstaller的安装:
pyinstaller安装是非常简单的,直接用pip安装即可
pip install pyinstaller
这里要注意的是,如果系统中python2和python3共存的情况下,建议只安装一种python版本的pyinstaller,否则使用时可能出现混乱的情况。
安装如果太慢的话,建议使用国内镜像;
临时使用:
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pyinstaller
安装完成之后,就可以开始打包工作了,实际上就是配置选项的一些选择,所以首先还是先了解下这些个选项。
常用的不是打包时用的命令参数:
-h或者--help
这个命令是显示帮助信息,基本的命令使用和相关的帮助信息都会显示,如果你能看得懂,就不需要往下看了。
-v, --version
显示pyinstaller的版本号。
--clean
清除之前打包的缓存文件,这个如果要使用git相关版本管理的话建议使用,因为打包的话会产生大量的中间文件。
不常用的不是打包时用的命令参数:
--distpath
DIR在哪里放置捆绑的应用程序(默认:./dist)
--workpath
WORKPATH在哪里放置所有的临时工作文件,.log,.pyz等(默认:./build)
-y, --noconfirm
替换输出目录而不要求确认
--upx-dir
UPX_DIRUPX程序(压缩)的路径(默认:搜索执行路径)
-a, --ascii
不包括unicode编码支持(默认:包括如果可用)
--log-level
LEVEL构建时控制台消息中的信息级别。(默认:INFO)
常用的打包时的命令参数:
-D, --onedir
生成的不是一个很大的exe文件,而是一个文件夹,里面包含着一个很小的exe以及一堆的相关文件,即创建一个包含可执行文件的单个文件夹包(默认)。
-F, --onefile
生成一个大的exe文件,但是没有其他相关文件,可以直接执行。即创建一个文件捆绑的单一的可执行文件。
-n, --name
重命名生成的exe文件的名称。
--specpath
生成的打包文件的目录,默认时当前目录。
-c, --console, --nowindowed
生成的打包程序运行时会带一个终端窗口,调试时比较方便看到输出信息,默认选项
-w, --windowed, --noconsole
生成的打包程序运行时不带终端窗口,建议使用这个,调试的时候用终端执行exe文件,效果和带终端的程序一样,还能看到程序崩溃的点报的trace。
-i, --icon
给生成的exe换个图标,默认的图标是python。
打包相关的一些入门级的坑看这里