知行编程网知行编程网  2022-11-09 09:30 知行编程网 隐藏边栏  17 
文章评分 0 次,平均分 0.0
导语: 本文主要介绍了关于python怎么打包成exe文件的相关知识,希望可以帮到处于编程学习途中的小伙伴

如何将python打包成exe文件

Python程序打包工具

Python 是一种由解释器解释和执行的脚本语言。发布方式:

.py文件:对于开源项目或者不是那么重要的源代码,直接提供源代码需要用户自行安装Python并安装各种依赖库。 (Python官方

种安装包就是这样做的)。

.pyc文件:一些公司或个人出于保密或各种原因不希望源代码被运营商看到。他们可以使用 pyc 文件来发布。 Python 解释器可以识别 pyc 文件。

其他二进制代码发布后也是跨平台的,用户需要安装对应版本的Python和依赖库。

可执行文件:对于非码农或者一些新手用户,如果让他安装Python,折腾一堆依赖库,那就是灾难了。对于这样的用户,最简单的

唯一的办法就是提供一个可执行文件,告诉他怎么用。比较麻烦的是针对不同的平台需要打包不同的可执行文件(Windows、

Linux, Mac,...)。

推荐:

.py 和 .pyc 都比较简单,Python 自己可以处理。有几种方法可以将 Python 脚本打包成可执行文件。

PyInstaller

安装pyinstaller

对于那些网络比较稳定,可以流畅使用pip源地址的用户,可以直接执行以下命令:

pip install pyinstaller

通常我们会下载源码包,然后进入包目录执行如下命令(需要安装setuptools):

python setup.py install

安装完后,检查安装成功与否:

pyinstaller --version

安装成功后,就可以使用下面的命令了:

pyinstaller :打包可执行文件的主要命令,下面会介绍详细用法。

pyi-archive_viewer : 查看可执行包里面的文件列表。

pyi-bindepend : 查看可执行文件依赖的动态库(.so或.dll文件)

pyi-... : 等等。

使用PyInstaller

pyinstaller的语法:pyinstaller [options] script [script...] | specfile
最简单的用法,在和myscript.py同目录下执行命令:
pyinstaller mycript.py

然后你会看到已经添加了两个新目录 build 和 dist。 dist 下的文件是可以发布的可执行文件。对于上面的命令,你会在 dist 目录下找到一堆文件。

,各种动态库文件和myscript可执行文件。有时这感觉更麻烦。在发布之前,你需要将所有内容打包到 dist 下。如果丢失了动态库,就没有

法运行了,好在pyInstaller支持单文件模式,只需要执行:

pyinstaller -F mycript.py

你会发现dist下只有一个可执行文件,这个单一的文件是可以分发的,可以在和你使用的操作系统类似的系统下运行。当然,

pyinstaller还有各种选项,有通用选项,如-d选项用于debug。

执行 pyInstaller 命令时,会在与脚本相同的目录下生成一个 .spec 文件,该文件将告诉 pyinstaller 如何处理你的所有脚本,包括

命令选项。一般我们不需要关注这个文件。如果需要打包数据文件,或者在打包的二进制文件中添加一些 Python 运行时选项...一些高级打包

选项时,需要手动编辑.spec文件。可以使用:

pyi-makespec optionsscript [script ...]

创建一个.spec文件,对于手动编辑的.spec文件,我们可以使用下面任意一条命令:

pyinstaller specfile
pyi-build specfile

PyInstaller原理简介

PyInstaller其实就是把python解析器和你自己的脚本打包成一个可执行文件,和编译成真机码完全不一样,所以不要参考。

希望打包成可执行文件能提高运行效率,反之,可能会降低运行效率。优点是无需在运行程序的机器上安装 python 和你的脚本依赖项。

图书馆。 Linux操作系统下主要使用binutil工具包中的ldd和objdump命令。

PyInstaller进入你指定的脚本,首先分析该脚本所依赖的其他脚本,然后搜索、复制、收集所有相关脚本,包括Python解析

,然后把这些文件放到一个目录下,或者打包成一个可执行文件。

你可以直接发布整个输出文件夹中的文件,或生成的可执行文件。你只需要告诉用户你的应用程序是独立的,不需要安装任何其他东西

包,或某个版本的Python,就可以直接运行了。

需要注意的是,PyInstaller打包的可执行文件只能和打包机系统在同一个环境。也就是没有可移植性,如果需要在不同系统上运行的话

行,就必须针对该平台进行打包。

本文为原创文章,版权归所有,欢迎分享本文,转载请保留出处!

知行编程网
知行编程网 关注:1    粉丝:1
这个人很懒,什么都没写
扫一扫二维码分享