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

  

 

 

posted @ 2021-10-18 15:22  水墨黑  阅读(1887)  评论(0编辑  收藏  举报