用 Pyinstaller 模块将 Python 程序打包成 exe 文件(全网最全面最详细)(一)

简介: 用 Pyinstaller 模块将 Python 程序打包成 exe 文件(全网最全面最详细)(一)

打包前置知识

一、什么是exe可执行文件?

exe 文件英文全名是 executable file,翻译为可执行文件(但它不等于可执行文件),可执行文件包含两种,文件扩展名为 .exe 的是其中的一种。正确的 exe 文件可以在 Windows 平台上直接双击运行!我们通常用的各种软件都是通过快捷方式打开的,而这个快捷方式的目标地址就是这个软件的一个 exe 文件。

二、为什么要将 Python 程序打包为 exe 可执行文件?

  众所周知,Python 程序的运行必须要有 Python 的环境,但是程序编出来是用的,如果是给别人用,而他/她的电脑上又没有 Python 程序运行的环境怎么办呢?总不能让他/她去安装一个吧?这时我们就要将 Python 程序打包为 exe 文件。这样,在 Windows 平台下,就可以直接运行该程序,不论有没有 Python 环境。

三、为什么 Python 程序不能直接运行呢?

    Python 是解释性语言,它与 C 或者 C++ 等编译型语言不同,C 或者 C++ 都是要编译再运行的,(编译产生的最终文件就是 exe 文件),Python 本质上只是对一段文本进行解释,类似于浏览器解析 html 文档,是不会产生任何 exe 文件的。

四、我们用什么来打包 Python 文件呢?

  一般我们都用 Python 的 Pyinstaller 模块进行打包,也有其他的打包模块,不过相比之下,Pyinstaller 的使用者最多,用起来也很简单,因此本文章就以 Pyinstaller 模块来打包 Python 程序。

五、打包有哪几种分类呢?

根据需要,下面的方法大家可以任选一种进行打包(我一般用第 3 个),不过新手的话建议全部都看一下哦。


① 一般的打包


步骤最少,操作最简单,但是打包时间久,效果不理想(打包后文件太大,一般 100MB 以上)


② 虚拟环境下的打包


步骤稍多,操作略微复杂,但是打包快,效果好(打包后文件不大,一般 10MB 以内)


③ 多 Python 文件的打包


步骤更多,操作更复杂,但是可以将多个 Python 文件都打包进去


④ 包含资源文件的打包


步骤极为繁琐,操作非常复杂,但是可以把所有的文件都包含进去

打包的方法

一般的打包

一般的打包方式,最简单,但是打包的成品有些许臃肿,不是特别推荐。

1、打开 Anaconda Prompt

如果你安装了 Anaconda 的 Python 集成环境的话,在菜单页面的所有应用里面可以看到 Anaconda 以及 Anaconda Prompt。

Anaconda

点进去就可以看见如下的界面:

Anaconda Prompt

2、下载并安装 Pyinstaller 模块

这个用 pip 模块直接下载就行,直接就下载在本次需要打包的 Python 环境下(base 环境)

pip install Pyinstaller

                                                  pip insatll Pyinstaller

当然了,已经安装过 Pyinstaller 模块的可以跳过这一步。

如果出现什么疑难杂症,大概率是权限导致的问题,按照下面的方法重新打开 Anaconda Prompt 就好了。

                                                     管理员身份打开

此时,Anaconda Prompt 的显示文字会变成如下这样:

然后再 pip 就行,这样应该就没有什么问题了。

3、切换命令行的路径管理员身份运行

因为你要打包的文件在对应的文件夹里面,而 Pyinsatller 一开始是不知道要打包的文件在哪里的,所以要直接切换命令行的路径到目标文件夹路径,使得后面的步骤中,Pyinstaller 可以找到对应的文件。

cd 文件夹路径

这里我的打包文件夹放在了桌面上,文件夹名为 test,要打包的 Python 文件在 test 文件夹内,名为 Python.py 。于是我的文件夹路径为 C:\Users\小康\Desktop\test(一定要是绝对路径)。

切换路径然后回车就可以看到下面这样的就说明成功了。

切换路径

4、打包 Python 文件

输入如下格式的命令即可

Pyinstaller -option1 -option2 -... 要打包的文件

参数选项比较多,这里我列一个表:image.pngimage.png这里简单地举几个例子,让大家明白这个参数怎么写。

# 这一般是用来打包界面化的程序的,如用tkinter、Pyqt5等制作的程序。
# -w 的意思就是exe运行的时候不弹出那个命令行(黑窗口)
Pyinstaller -F -w somefile.py
# 这一般用来添加exe的图标
Pyinstaller -F -i someicon.ico somefile.py

打包文件

然后回车它就会自动打包了。说明一下,一般我们都只会选择其中的几个参数选项,如 -F 和 -w,根据需要,我们还会选择其他的一些参数。当出现如下的文字(主要是最后一行文字)时就代表打包成功了!c72a6c2794f144be97b2af58af7ffc64.png

目录
相关文章
|
26天前
|
Python
Python Internet 模块
Python Internet 模块。
121 74
|
6天前
|
存储 NoSQL 数据库连接
在Python程序中实现LevelDB的海量key的分批次扫描
通过本文的步骤,您可以在Python程序中实现对LevelDB海量key的分批次扫描。这样不仅能够有效地管理大规模数据,还可以避免一次性加载过多数据到内存中,提高程序的性能和稳定性。希望这篇指南能为您的开发工作提供实用的帮助。
48 28
|
2月前
|
算法 数据安全/隐私保护 开发者
马特赛特旋转算法:Python的随机模块背后的力量
马特赛特旋转算法是Python `random`模块的核心,由松本真和西村拓士于1997年提出。它基于线性反馈移位寄存器,具有超长周期和高维均匀性,适用于模拟、密码学等领域。Python中通过设置种子值初始化状态数组,经状态更新和输出提取生成随机数,代码简单高效。
123 63
|
5天前
|
Python
[oeasy]python057_如何删除print函数_dunder_builtins_系统内建模块
本文介绍了如何删除Python中的`print`函数,并探讨了系统内建模块`__builtins__`的作用。主要内容包括: 1. **回忆上次内容**:上次提到使用下划线避免命名冲突。 2. **双下划线变量**:解释了双下划线(如`__name__`、`__doc__`、`__builtins__`)是系统定义的标识符,具有特殊含义。
19 3
|
25天前
|
安全 API C语言
Python程序的安全逆向(关于我的OPENAI的APIkey是如何被盗的)
本文介绍了如何使用C语言编写一个简单的文件加解密程序,并讨论了如何为编译后的软件添加图标。此外,文章还探讨了Python的.pyc、.pyd等文件的原理,以及如何生成和使用.pyd文件来增强代码的安全性。通过视频和教程,作者详细讲解了生成.pyd文件的过程,并分享了逆向分析.pyd文件的方法。最后,文章提到可以通过定制Python解释器来进一步保护源代码。
72 6
|
1月前
|
IDE 程序员 开发工具
Python编程入门:打造你的第一个程序
迈出编程的第一步,就像在未知的海洋中航行。本文是你启航的指南针,带你了解Python这门语言的魅力所在,并手把手教你构建第一个属于自己的程序。从安装环境到编写代码,我们将一步步走过这段旅程。准备好了吗?让我们开始吧!
|
19天前
|
Shell 开发工具 Python
如何在vim里直接运行python程序
如何在vim里直接运行python程序
|
3月前
|
Linux 区块链 Python
Python实用记录(十三):python脚本打包exe文件并运行
这篇文章介绍了如何使用PyInstaller将Python脚本打包成可执行文件(exe),并提供了详细的步骤和注意事项。
130 1
Python实用记录(十三):python脚本打包exe文件并运行
|
3月前
|
XML JSON Ubuntu
Python实用记录(十五):PyQt/PySide6打包成exe,精简版(nuitka/pyinstaller/auto-py-to-exe)
本文介绍了使用Nuitka、PyInstaller和auto-py-to-exe三种工具将Python的PyQt/PySide6应用打包成exe文件的方法。提供了详细的安装步骤、打包命令和参数说明,适合新手学习和实践。
743 0
|
5月前
|
区块链 Python
最详细Python打包exe教程,并修改图标,只需30秒
最详细Python打包exe教程,并修改图标,只需30秒
114 4
最详细Python打包exe教程,并修改图标,只需30秒