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

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

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

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

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

Pyinstaller第三方库的使用

然后打开目录,会出现:

Pyinstaller第三方库的使用

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

                                     

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

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()

————————————————

===========================================================================

Pyinstaller库概述
将.py源代码转换成无需源代码的可执行文件

PyInstaller库是第三方库
 

官方网站:http://www.pyinstaller.org

第三方库:使用前需要额外安装

安装第三方库需要使用pip工具

 
PyInstaller库的安装
(cmd命令行) pip install pyinstaller

PyInstaller库使用说明
简单的使用
(cmd命令行) pyinstaller -F <文件名.py>

PyInstaller库常用参数
参数

描述

-h

查看帮助

--clean

清理打包过程中的临时文件

-D, --onedir

默认值,生成dist文件夹

-F, --onefile

在dist文件夹中只生成独立的打包文件

-i <图标文件名.ico>

指定打包程序使用的图标(icon)文件

使用举例
pyinstaller –i curve.ico –F SevenDigitsDrawV2.py

 
PyInstaller库取消DOS黑框
pyinstaller -i wct.ico -F -w  WordCloudTool.py
————————————————

相关文章: