作用: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()