基于pyinstaller实现打包游戏成.exe文件

今天介绍我们学习过程中安装的第一个第三方库Pyinstaller。其使用方法实在命令行窗口或者终端执行命令,以实现相应的操作或功能。

pyinstaller库(将源代码转换为可执行文件):

该库的功能就是将源代码文件.py转换为可执行文件.exe(Windows)或.pkg(macOS)。

1、安装方法:

在命令行窗口输入:pip install Pyinstaller -i https://pypi.tuna.tsinghua.edu.cn/simple

这里我使用了国内镜像站进行安装。

显示如图successfully就说明安装成功。

打包一个猜数字的小游戏:

2、猜数字游戏代码:
import random  #导入随机库
b = random.randint(0, 10) #获取十以内的一个随机整数
while True:

    try:
        a=int(input("请输入一个十以内的整数:"))
    except:
        print("格式错误")  #异常捕获,和之前博客中判断时辰的原理一样,如果输入的不是数字会在int强制类型转换时发生错误,从而进入except模块


    if a>b:
        print("大了")
    elif a<b:
        print("小了")
    else:
        print("猜对了")
        c=input("输入y进入下一轮,输入n结束:")
        if c=="y":
            b = random.randint(0, 10) #进入下一轮游戏,重新获得一个随机数字
            continue
        elif c=="n":
            break

大家可以自己尝试写一个猜数字游戏的代码,相信对各位佐助来说是易如反掌的。

3、打包:

注意在文件夹的特定位置输入cmd就会进入相应的命令行窗口,打包后的文件也会存在相应的路径。这里我在我d盘的python项目文件打开cmd。

打包猜数字.py文件,格式:Pyinstaller 文件路径:

1、单文件打包

打包的位置:

2、多文件打包

即不需要使用--onefile参数,默认的打包方法

打包后的.exe文件在dist文件夹中。

运行:

各位佐助到这里就完成了打包成.exe的可执行文件,可以把打包好的小游戏发给自己的兄弟们玩一玩。

再送兄弟姐妹们一段代码,可以打包分享给自己的好朋友:

import tkinter as tk
import random
import time
from tkinter import font

# 祝福文案(可自行添加)
BLESSINGS = [
    "考研上岸!一战成硕~",
    "天冷加衣,别冻着呀",
    "多喝热水,照顾好自己",
    "逢考必过,万事顺意",
    "平安喜乐,天天开心",
    "学业进步,前程似锦",
    "身体健康,无病无灾",
    "锦鲤附体,好运爆棚"
]

# 随机颜色(RGB转十六进制,tkinter支持的格式)
def random_color():
    r = random.randint(50, 200)
    g = random.randint(50, 200)
    b = random.randint(50, 200)
    return f'#{r:02x}{g:02x}{b:02x}'  # 转成十六进制颜色码

# 文字泡类
class TextBubble:
    def __init__(self, canvas, width, height):
        self.canvas = canvas
        self.width = width
        self.height = height
        # 随机属性
        self.text = random.choice(BLESSINGS)
        self.color = random_color()
        self.size = random.randint(14, 20)  # 文字大小
        self.x = random.randint(50, width - 150)  # 水平位置
        self.y = height + 20  # 初始在屏幕底部外
        self.speed = random.uniform(0.5, 2)  # 上升速度
        # 创建文字标签
        self.font = font.Font(size=self.size, weight='bold')
        self.id = canvas.create_text(
            self.x, self.y,
            text=self.text,
            fill=self.color,
            font=self.font,
            tags='bubble'
        )

    def update(self):
        # 向上移动
        self.y -= self.speed
        self.canvas.move(self.id, 0, -self.speed)
        # 超出屏幕顶部则删除
        if self.y < -50:
            self.canvas.delete(self.id)
            return False
        return True

# 主窗口
class BlessingWindow:
    def __init__(self, root):
        self.root = root
        self.root.title("来自朋友的祝福~")
        self.root.geometry("800x600")  # 窗口大小
        self.root.resizable(True, True)  # 支持缩放
        # 创建画布
        self.canvas = tk.Canvas(root, bg='white')
        self.canvas.pack(fill=tk.BOTH, expand=True)
        # 文字泡列表
        self.bubbles = []
        self.max_bubbles = 50  # 最大数量
        self.spawn_interval = 0.2  # 生成间隔(秒)
        self.last_spawn = time.time()
        # 开始动画
        self.animate()

    def animate(self):
        # 定时生成新文字泡
        now = time.time()
        if now - self.last_spawn > self.spawn_interval and len(self.bubbles) < self.max_bubbles:
            width = self.canvas.winfo_width() or 800
            height = self.canvas.winfo_height() or 600
            self.bubbles.append(TextBubble(self.canvas, width, height))
            self.last_spawn = now
        # 更新所有文字泡
        self.bubbles = [b for b in self.bubbles if b.update()]
        # 循环动画
        self.root.after(30, self.animate)  # 30毫秒刷新一次

# 运行程序
if __name__ == "__main__":
    root = tk.Tk()
    app = BlessingWindow(root)
    root.mainloop()

效果:

实际上项目中我们并不使用pyinstaller,我们以后在公司中开发用的一般是docker:

docker 容器镜像。整体项目打包,把整个环境打包到服务器。相当于把电脑搬到服务器。

PyInstaller是一款多平台的Python程序打包工具,核心作用是将Python脚本及其依赖(包括Python解释器、库文件等)打包为独立的可执行文件,让用户无需安装Python环境即可运行程序。

 一、核心特点 1. **跨平台支持**: 适配Windows、macOS、Linux等主流系统(但非跨编译器,需在目标系统上打包,例如打包Windows程序需在Windows环境中操作)。 2. **自动处理依赖**: 会递归分析脚本的`import`语句,自动收集所需的库、模块,无需手动整理依赖。 3. **灵活的打包模式**: - 默认(`--onedir`):生成包含exe和依赖文件的文件夹; - 单文件模式(`--onefile`):将所有内容嵌入单个exe(运行时自动解压到临时目录)。 4. **功能扩展**: 支持隐藏控制台窗口(`--windowed`)、添加图标(`--icon`)、压缩体积(结合UPX工具)、打包外部资源文件(`--add-data`)等。 

二、适用场景 - 分发Python程序给无Python环境的用户; - 打包GUI应用(如Tkinter、PyQt程序); - 构建企业内部部署脚本或工具。 

三、基本使用流程 1. 安装:`pip install pyinstaller`; 2. 打包:在脚本目录执行`pyinstaller 脚本名.py`(默认生成多文件包); 3. 获取结果:打包后的程序位于`dist`文件夹中。 它是Python生态中最常用的打包工具之一,能有效解决Python程序的分发难题。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值