Python是一种程序语言,需要下载。那,如果想让别人使用我们的应用程序,要怎么做呢?总不成让他们大费周折的去下载Python吧?其实啊,答案就是将Python程序打包成EXE,EXE中文名叫可执行文件,也就是说,无需任何操作,只要你有一台Windows电脑,就可以直接运行它。听到这里,也许你已经跃跃欲试了,那话不多说,开始吧!
配置Python环境、pip并编写程序
我这里以Python3.8.2的IDLE为例,编写一个基于tkinter的简单的温度转换的程序,保存为“摄氏度转华氏度.py”。
from tkinter import *
from tkinter import messagebox
root = Tk()
root.title('摄氏度转华氏度')
root.geometry('250x100')
root.resizable(0,0)
def f():
try:
cel = int(e.get()) * 1.8+32
if int(cel) == cel:
s = '='
else:
s = '≈'
result.config(text="转换结果:"+e.get()+'℃'+s+str(round(cel,2))+'℉')
except:
messagebox.askretrycancel('提示','请检查您的输入(只需要数字,不需要℃)')
var = StringVar()
e = Entry(root,textvariable=var)
var.set('0')
result = Label(root,text='转换结果:0℃=32.0℉',fg='blue')
b = Button(root,text='转换',command=f)
e.pack()
b.pack()
result.pack()
Label(root,text='*公式:摄氏度=(华氏度-32)×5÷9').pack()
root.mainloop()
效果如图:
安装pyinstaller
快捷键Win+R打开“运行”窗口,输入cmd,在命令行中输入安装命令:pip install pyinstaller。等待一会儿后,我们看到Successfully installed ......的输出并且返回了原来的目录下,这时输入pyinstaller,弹出一堆用法,即为安装成功。我有一个习惯,就是安装完第三方库后立即将命令行截图。因为我的系统和很多模块不兼容,如果导入失败,要删除它以及它的依赖库了,我记忆力又不大好,所以我就选择截图记录依赖库。装模块失败多了的经验……[强颜欢笑]。如果你的系统没有这个问题,可以忽略这段话。
打包
打开命令行,切换至py文件的目录下,输入pyinstaller 摄氏度转华氏度.py,然后又是一堆提示,然后,你就会发现,该目录下生成了一个build文件夹,一个dist文件夹和一个spec文件。dist文件夹里装的就是EXE了。注意注意,这里的EXE文件是需要依赖的,还不是单文件,无法直接发送给朋友。接下来,介绍参数:
参数 | 作用 | 示例 |
-D | 生成一个目录,执行速度较快,默认 | pyinstaller -D test.py |
-F | 生成单个EXE文件,分享快速 | pyinstaller -F test.py |
-p DIR | 从指定位置的PY文件制作EXE | pyinstaller -p D:/test.py |
-w | 取消命令行,适用GUI,仅Windows | pyinstaller -w test.py |
-c | 有命令行,适用命令行程序,仅Windows,默认 | pyinstaller -c test.py |
注意,当-F和-w都使用时,最好将参数填写为-Fw,如pyinstaller -Fw test.py(不过写成pyinstaller -F test.py -w好像也没错)。
pyinstaller有一个“小”问题,打包的文件不“小”,根据某博主的文章,深度学习的一个程序,打包出来3G!!!而网上还有一些其他的打包教程,打包工具包括cx_Freeze、py2app、py2exe、Nuitka等。py2exe有一些问题,建议不要使用,本人这台电脑有点小问题……
好了,本篇文章就到这里。
====================End====================