前言
接着上篇所讲的,我们已经完成了源代码的准备,并将其储存在了function_1.py文件中。接下来我们将把function_1.py文件编写为相对应的exe文件。那么好,废话不多说,我们直接开始。(温馨提示:由于整蛊的需要,建议将上篇文章中的begin值设为100~500之间)。
1,第三方库的介绍
在本篇文章中,我们需要用到Python中的一个第三方库pyinstaller。这里有几个概念需要我们简单了解一下:
一:什么是Python第三方库
二:Python标准库与第三方库的联系和区别
更详细的内容我将会在下一章节中进一步讲解说明。
(温馨提示:上篇文章中我们调用的库:os,time,random,platform,tkinter,threading均属于标准库,因此我们可以直接使用,不需要我们下载)
2,第三方库的准备
我们已经知道了Pyinstaller的具体作用,以及其在本次编程中扮演的角色,那么接下来我们就需要先准备好Pyinstaller。因为Pyinstaller是第三方库,因此搭建Python环境时系统是不会自动下载的,这需要我们自己去下载
一:查看自己之前是否已经下载好了Pyinstaller:可利用pip命令查看,具体操作:在终端(Pycharm自带终端,Python IDLE 可通过按住"win+R"键,输入"cmd",回车打开系统本地终端)
如下所示:
Pycharm
Python IDLE
在终端中输入"pip list",回车等待,我们就可以看到我们已经下载好的第三方库了。(温馨提示:"pip list"命令返回的第三方库名单是按照首字母A~Z排列的,可以帮助我们快速查找所需的第三方库)。如下所示:
接下来我们直接在里面找是否有Pyinstaller,如果有,我们第三方库的准备工作就完成了;如果没有,我们接着在终端中输入命令"pip install Pyinstaller",回车等待。(由于我的已经下载好了,不需要重复操作,因此后面下载Pyinsatller这一步我就不作展示了,请大家自行操作)。回车等待一断时间后,当我们看到命令执行的最后结果为"......Successfully installed pyinstaller"时, 表明我们已经成功下载了。至此,第三方库的准备就完成了。
3,将初始文件编译为exe文件
在开始"将初始文件编译为exe文件"这一步操作之前,我们需要简单了解一下Pyinstaller相关命令。Pyinstaller中的"-F "命令将指定文件打包后只生成一个exe格式文件。我们接下来就进行"将初始文件编译为exe文件"的具体操作:
一:打开终端(如下所示)
二:执行Pyinstaller中的"-F"命令将初始文件打包为对应的exe文件(如下所示)
我们在终端执行命令"pyinstaller -F 文件名"(我这里的执行文件为function_1.py)
接着我们按下回车,等待一段时间。当我们看到命令的执行结果为"......completed successfully"时,就代表我们的打包工作成功了。(如下所示)
我们接着返回主界面,发现在执行完"pyinstaller -F 文件名"命令后,python项目1下面的文件夹多了几个-build,dist和function_1.spec。(如下所示)
我们接着点开dist文件夹,发现里面有一个名为"xxx.exe"的文件,其实这就是我们已经打包完成的exe文件。我们不妨将该文件复制后转移到本地文件夹中,点击运行,发现文件运行起来了且运行效果与function_1.py文件无异。(如下所示)
至此,我们的编译工作就完成了。生成的exe文件我们就可以转发给室友,整蛊一下Ta了。
OK,本章节就到此为止啦,关于本篇文章中有关内容更详细的补充解读我会在下一章节展开。
(小白温馨提示:1,pip是一个广泛使用的Python包管理工具,它全称是Python Package Index,提供了对Python包的查找、下载、安装、卸载的功能。pip允许开发者安装和管理不属于Python标准库的第三方库和依赖项,是Python开发工作流程中的重要工具。2,PyInstaller是一个强大的工具,它能够将Python脚本及其依赖项打包成独立可执行文件。这个工具特别适用于那些希望在没有安装Python环境的计算机上运行Python应用程序的用户。Pyinstaller支持多种操作系统,包括Windows、Linux、macOS等,并且能够生成在这些平台上运行的可执行文件。3,PyCharm 是一款由 JetBrains 公司开发的 Python 集成开发环境(IDE),它为 Python 开发者提供了丰富的功能和工具,以提高开发效率。PyCharm 拥有两个版本:专业版(Professional)和社区版(Community),它们的主要区别在于功能和适用人群。)
期待你的交流指教,我是闪云-微星,我们下期再见!