Python打包

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文件制作EXEpyinstaller -p D:/test.py
-w取消命令行,适用GUI,仅Windowspyinstaller -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====================

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值