Python PyInstaller 模块使用详解(将Python程序制作成可直接运行的 EXE 程序)[PyInstaller概述][PyInstaller安装][PyInstaller的使用 ]

您的“关注”和“点赞”,是信任,是认可,是支持,是动力…

如意见相佐,可留言。
本人必将竭尽全力试图做到准确和全面,终其一生进行修改补充更新。

1 PyInstaller 模块概述

PyInstaller 可以将 Python 应用程序及其所有依赖项冻结(打包)成独立可执行程序,用户无需安装 Python 解释器或任何模块即可运行打包的应用程序,这个程序可以被分发在 Windows,GNU / Linux,Mac OS X,FreeBSD,Solaris 和 AIX 平台上运行。

注意:PyInstaller 它不是交叉编译器:要制作 Windows 应用程序,请在 Windows 中运行 PyInstaller。要创建 GNU / Linux 应用程序,请在 GNU / Linux 等环境中运行它 。

PyInstaller 当前最新版本为:PyInstaller 3.6。本文演示也是基于这个版本。

PyInstaller 3.6 支持 Python 2.7 和 Python 3.5+,取消对 2.7 之前的 Python 的支持,并正确捆绑了主要的 Python 软件包,例如 numpy,PyQt,Django,wxPython 等。

2 PyInstaller 模块的安装

2.1 PyInstaller 安装概述

PyInstaller 就是一个普通的 Python 软件包。

  • 第一种安装方式:从 PyPi 下载档案文件。
  • 第二种安装方式:使用 pip可以更简单的安装 PyInstaller 。

以第二种方式为例,如下所示:

pip install pyinstaller

或升级到新版本:

pip install --upgrade pyinstaller

要安装当前的开发版本,请使用:

pip install https://github.com/pyinstaller/pyinstaller/tarball/develop

2.2 在 Windows 中安装 PyInstaller

安装 PyInstaller 模块与安装其他 Python 模块一样,使用 pip 命令安装即可。
在命令行窗口(win + R 快捷键打开“运行”窗口,输入cmd,按确认)输入如下命令:

pip install pyinstaller

运行上面命令,就会开始安装 PyInstaller ,安装需要时间,等一会儿会有如下提示出现,表示安装成功了。

Successfully installed pyinstaller-x.x.x

建议:使用 pip 在线安装的方式来安装 PyInstaller 模块,不要使用离线包的方式来安装,因为 PyInstaller 模块需要依赖其他模块,pip 在安装 PyInstaller 模块时会安装它的依赖模块(自动安装 altgraph, future, pefile, pywin32-ctypes, pyinstaller)。

在 Windows 中安装 PyInstaller,先决条件是 PyWin32 或更新的 pypiwin32。 使用 pip 安装 PyInstaller 时会自动安装 pywin32。

PyWin32 或 pypiwin32 是提供了 Python 在 Windows 下运行的环境,提供了很多访问 windows 的API,安装其中之一即可。

如果想要手动安装,也可以输入以下命令:

pip install pywin32

pip install pypiwin32

2.3 在 Mac OS X 中安装 PyInstaller

Mac OS X 10.8 随附有 Apple 预先安装的 Python 2.7。但是,Python 2.7 已停产,并且 PyInstaller 不再支持它,而且 PyQt,Numpy,Matplotlib,Scipy 之类的主要软件包也已不再支持 Python 2.7。因此,建议使用 MacPorts 或Homebrew 安装它们。

2.4 验证 PyInstaller 是否安装成功

可以输入命令进行查看,如下所示:

查看安装的 PyInstaller 版本号,命令如下所示,

pyinstaller --version 或 pyinstaller -v

查看已经安装的所有模块,命令如下所示,

pip list

3 PyInstaller 模块的使用

使用语法格式如下所示:

pyinstaller [选项] Pyhton脚本

对以上格式说明,

  • [选项]:可选参数,可有可无。常用选项(部分选项)如下表所示,

    选项 意义
    -h 查看该模块的帮助信息,会罗列出所有选项以供查询,例如 pyinstaller -h
    -v 查看该模块的版本信息,会显示该模块的版本号,例如 pyinstaller -v
    -F 生成单个的可执行文件,例如 pyinstaller -F Python源文件
    -D 创建一个包含可执行文件的单文件夹捆绑包(默认),例如 pyinstaller -D Python源文件
    -n 指定项目(产生的 spec)名字。如果省略该选项,那么第一个脚本的主文件名将作为 spec 的名字
    -d 产生 debug 版本的可执行文件
    -w 指定程序运行时不显示命令行窗口(仅对 Windows 有效)
    -c 指定使用命令行窗口运行程序(仅对 Windows 有效)
    -o 指定 spec 文件的生成目录。如果没有指定,则默认使用当前目录来生成 spec 文件
  • Pyhton脚本:指的是 xx.py 文件。

举例如下所示:

创建 windowdemo.py Python 脚本文件,内容如下所示:

from tkinter import *


win = Tk()
win.title('我的第一个窗口')  # 设置窗口名
sw = win.winfo_screenwidth()  # 拿到屏幕宽度
sh = win.winfo_screenheight()  # 拿到屏幕高度
ww = 320  # 定义窗口宽度
wh = 260  # 定义窗口高度
x = (sw-ww) / 2
y = (sh-wh) / 2
win.geometry("%dx%d+%d+%d" % (ww, wh, x, y))

win.mainloop()  # 进入消息循环

运行上面代码,会出现一个窗口,如下图所示:

在这里插入图片描述

通过命令行工具进入 windowdemo.py Python 脚本文件所在目录,在该目录下执行如下命令:

pyinstaller -F -w windowdemo.py

如下图所示:

在这里插入图片描述

以上命令中,-F 选项表示指定生成单个的可执行程序,-w 选项表示指定程序运行时不显示命令行窗口。

以上命令运行完成后,所在目录会生成一个build目录,包括所有的编译脚本;一个 dist 目录,包含整个项目的打包结果;还会有一个windowdemo.spec 文件,这是一个规格文件,PyInstaller 通过执行 spec 文件的内容来构建应用程序。如下图所示:

在这里插入图片描述

dist目录下会生成一个windowdemo.exe 文件,就是我们需要的可直接运行的程序了,双击便可运行,如下图所示:

在这里插入图片描述

双击执行程序,如下图所示:

在这里插入图片描述

【友情链接】

微信公众号:码农阿杰

博客园

【参考资料】

PyInstaller 手册

PyInstaller 官网

PyPi 官网

Python 官网

Python 3.8.2 documentation

猜你喜欢

转载自blog.csdn.net/manongajie/article/details/106493984
今日推荐