1. 什么是 auto-py-to-exe
auto-py-to-exe 是一个用于将 Python 程序打包成可执行文件的图形化工具。本文就是次要介绍如何应用 auto-py-to-exe 实现 python 程序打包。auto-py-to-exe 基于 pyinstaller,相比于 pyinstaller,它多了 GUI 界面,用起来更为简略不便
2. 装置 auto-py-to-exe
首先咱们要确保咱们的 python 环境要大于或等于 2.7 而后在 cmd 外面输出:pip install auto-py-to-exe,输出实现之后,pip 就会装置 auto-py-to-exe 包了。装置实现之后,咱们就能够在 cmd 输出:auto-py-to-exe,来启动 auto-py-to-exe 程序了。
呈现上述图片,auto-py-to-exe 就装置胜利了。
3. auto-py-to-exe 局部选项介绍
在应用 auto-py-to-exe 打包 python 程序的时候,有许多配置选项须要咱们去指定,能正确晓得这些选项的作用是非常重要的。上面我将介绍其中一些重要的选项。
(1) Script Location
Script Location 次要是指定咱们要打包的 python 文件
(2) Onefile
Onefile 下有两个选项,别离是:One Directory 和 One File
如果抉择 One Directory,那么程序打包实现后会是一个文件夹的模式展示
如果抉择 One File,那么程序打包实现后就一个 .exe 文件
(3) Console Window
Console Window 次要设置打包程序运行时,是否呈现控制台
Console Based : 当打包的程序运行时会显示一个控制台界面
Window Based (hide the console) : 会暗藏控制台界面,次要用于带有 GUI 的 python 程序打包
(4) Icon
用于指定打包程序的图标
4. auto-py-to-exe 实战
本节次要以一个计算器程序来介绍如何应用 auto-py-to-exe 来打包程序。
auto-py-to-exe 打包程序次要分 3 局部,别离是:
关上 auto-py-to-exe
配置打包选项
查看打包成果
1. 关上 auto-py-to-exe
关上 cmd,输出:auto-py-to-exe 关上 auto-py-to-exe 后,咱们就要进行配置抉择了。
2. 配置打包选项
计算器程序,大家能够到 GitHub 去下载,地址是:https://github.com/pythonprog…
在打包时,咱们要进行的配置次要有:
Script Location
Onefile
Console Window
Script Location 抉择程序的主程序,在计算器我的项目里,咱们抉择的是 main.py
Onefile 抉择 One File,因为一个文件看起来比拟简洁
因为计算器我的项目带有 GUI , 所以 Console Window 抉择 Window Based (hide the console) ,
Icon 抉择一个 ico 文件,此处不是必须操作,能够不设置
如果程序外面有本人的模块,咱们必须把模块的目录增加到 Additional Files 外面。不然会呈现 Failed to execute script XXX 谬误
在计算器程序外面咱们所有的模块都在 calculation 目录下,所有咱们须要将 calculation 门路增加到 Additional Files 外面
配置实现之后点击 CONVERT .PY TO .EXE 按钮
这样咱们就实现一个计算器我的项目的打包。
3. 查看打包成果
程序实现打包后,咱们能够点击 OPEN OUTPUT FOLDER 按钮,而后就会关上打包文件的门路。
在打包文件目录中,咱们能够看到一个 main.exe 文件,这就是咱们打包文件。
点击 main.exe,就能够看到一个计算器程序了。
至此,打包工作圆满完成。
5. 总结一下
本文次要介绍了如何应用 auto-py-to-exe 来对 python 程序进行打包。但只是介绍最简略的 python 程序打包,如果想对简单的程序进行打包,下面的配置必定是不行的。
如果想更加深刻的理解 auto-py-to-exe,我倡议大家去钻研一下 pyinstaller。auto-py-to-exe 是基于 pyinstaller 的,钻研 pyinstaller,将会对咱们深刻应用 auto-py-to-exe 有非常明显的成果。
想更加深刻理解 pyinstaller 能够去浏览官网文档。
Python 是一种十分多样化且倒退良好的语言,因而必定会有许多我没有思考到的性能,如果大家有晓得的,能够在评论区通知我