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