Pyinstaller第三方库的使用

本文介绍了如何使用PyInstaller将Python源代码打包成可执行文件,以SevenDigitsDraw.py为例,详细阐述了打包过程,并讲解了如何通过添加-i参数来更改打包后的exe文件图标,使得程序更具个性化。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

作用:PyInstaller将源文件打包,生成可执行文件

以打包程序 SevenDigitsDraw.py 为例,( SevenDigitsDraw.py的作用是绘制七段数码管,下面附有代码)

1、找到需要打包的程序的源代码,在源代码目录下,打开命令行窗口。

例如我的程序 SevenDigitsDraw.py位于D:\PythonData\My-Python目录下,找到此目录,在此目录下打开命令行窗口。(按住Shift键,然后鼠标右键,会出现一个在此处打开命令行窗口,点击即可进入cmd)

2、在cmd中输入以下命令:pyinstaller -F SevenDigitsDraw.py,回车。(命令格式:PyInstaller -F 文件名.py)

然后打开目录,会出现:

 

其中_pycache_和build文件可以删除,在dist文件夹里面会有一个 与源代码同名的.exe文件,就是可执行文件,就是打包之后的文件,打包完成。将可执行文件直接发给同学,在同学电脑上不用配置python环境就可以执行此文件     

                                     

 下面介绍PyInstaller第三方库的常用参数:

主要介绍一下第五个的使用 -i  图标文件名.ico  可以在打包时修改可执行文件的图标

例如想把上面打包的SevenDigitsDraw.exe文件的图标更改为music.ico(一个音乐)

在命令行输入以下命令:pyinstaller -i music.ico -F SevenDigitsDraw.py

会生成如下文件:

SevenDigitsDraw.py代码如下

import turtle
import time

def drawGrap(): #绘制数码管间隔
    turtle.penup()
    turtle.fd(5)
    
def drawLine(draw):#即绘制单段数码管
    drawGrap()
    if draw:turtle.pendown()
    else:turtle.penup()
    turtle.fd(40)#向前行进40像素
    drawGrap()
    turtle.right(90)

def drawDigit(digit):
    if digit in [2,3,4,5,6,8,9]:drawLine(True)
    else:drawLine(False)
    if digit in [0,1,3,4,5,6,7,8,9]:drawLine(True)
    else:drawLine(False)
    if digit in [0,2,3,5,6,8,9]:drawLine(True)
    else:drawLine(False)
    if digit in [0,2,6,8]:drawLine(True)
    else:drawLine(False)

    turtle.left(90)
    if digit in [0,4,5,6,8,9]:drawLine(True)
    else:drawLine(False)
    if digit in [0,2,3,5,6,7,8,9]:drawLine(True)
    else:drawLine(False)
    if digit in [0,1,2,3,4,7,8,9]:drawLine(True)
    else:drawLine(False)
    turtle.left(180)#画完一个七段数码管之后方向改为向右
    turtle.penup();turtle.fd(20)#悬空移动20像素

def drawDate(date):
    turtle.pencolor("red")
    for i in date:
        if i=="-":
            turtle.write('年',font=("Arial",18,"normal"))
            turtle.pencolor("green")
        elif i=='=':
            turtle.write("月",font=("Arial",18,'normal'))
            turtle.pencolor("blue")
        elif i=="+":
            turtle.write("日",font=("Arial",18,"normal"))
        else:
            drawDigit(eval(i))

def main():
    turtle.setup(800,350,200,200)#建立一个画布
    turtle.penup()
    turtle.fd(-300)
    turtle.pensize(5)
    drawDate(time.strftime('%Y-%m=%d+',time.gmtime()))#获得系统内部时间,并把它转化成指定格式
    turtle.hideturtle()
    turtle.done()

main()
    

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值