• Python打包操作


    1.简单打包:将Python程序打包成exe文件

    (1)准备好对应的py文件——星空.py

    from turtle import *
    from random import random, randint
    
    screen = Screen()
    width, height = 800, 600
    screen.setup(width, height)
    screen.title("两情若是久长时,又岂在朝朝暮暮")
    screen.bgcolor("black")
    screen.mode("logo")
    screen.delay(0)  # 这里要设为0,否则很卡
    
    t = Turtle(visible=False, shape='circle')
    t.pencolor("blue")
    t.fillcolor("white")
    t.penup()
    t.setheading(-90)
    t.goto(width / 2, randint(-height / 2, height / 2))
    
    stars = []
    for i in range(200):
        star = t.clone()
        s = random() / 3
        star.shapesize(s, s)
        star.speed(int(s * 10))
        star.setx(width / 2 + randint(1, width))
        star.sety(randint(-height / 2, height / 2))
        star.showturtle()
        stars.append(star)
    
    while True:
        for star in stars:
            star.setx(star.xcor() - 3 * star.speed())
            if star.xcor() < -width / 2:
                star.hideturtle()
                star.setx(width / 2 + randint(1, width))
                star.sety(randint(-height / 2, height / 2))
                star.showturtle()  

    运行效果:

    (2)安装pyinstaller

    pip install pyinstaller

    (3)打包成exe文件

    pyinstaller.exe -F -i 星空.ico 星空.py -w
    • 参数-F:打包成一个exe文件
    • 参数-i:自定义图标(星空.ico)
    • 参数-w:打开exe程序不弹出dos命令窗口

    打包完成后的运行效果:

    2.带图片打包:将Python程序打包成exe文件

    (1)准备好对应的py文件——图片打包.py

    from tkinter import *
    from PIL import Image, ImageTk
    
    root = Tk()
    
    root.title('我的窗口')
    lab1 = Label(root, text='春野樱', anchor='nw')
    lab1.pack()
    photo1 = ImageTk.PhotoImage(file=r'小樱.png')
    photo2 = ImageTk.PhotoImage(file=r'小樱.png')
    imgLable1 = Label(root, image=photo1)
    imgLable2 = Label(root, image=photo2)
    imgLable1.pack(side=RIGHT)
    imgLable2.pack(side=RIGHT)
    
    mainloop()

    运行效果:

    (2)当前py文件所在目录DOS窗口输入pyi-makespec 图片打包.py

     将图片引用路径写为完整路径

    from tkinter import *
    from PIL import Image, ImageTk
    
    root = Tk()
    
    root.title('我的窗口')
    lab1 = Label(root, text='春野樱', anchor='nw')
    lab1.pack()
    photo1 = ImageTk.PhotoImage(file=r'D:\Python Project\小樱.png')
    photo2 = ImageTk.PhotoImage(file=r'D:\Python Project\小樱.png')
    imgLable1 = Label(root, image=photo1)
    imgLable2 = Label(root, image=photo2)
    imgLable1.pack(side=RIGHT)
    imgLable2.pack(side=RIGHT)
    
    mainloop()
    

      

     

  • 相关阅读:
    property补充
    利用描述符自定制property
    类的装饰器
    上下文协议管理
    描述符
    迭代器协议
    doc属性__module__属性__del__(垃圾回收)__call__方法
    【移动支付】.NET支付宝App支付接入
    【WPF】PopupColorEdit 的使用
    【MVVM Dev】PART_Editor的使用
  • 原文地址:https://www.cnblogs.com/shuimohei/p/15420762.html
Copyright © 2020-2023  润新知