gpt4 book ai didi

python - 想要将pygame项目转换为windows可执行文件

转载 作者:行者123 更新时间:2023-12-01 07:45:11 25 4
gpt4 key购买 nike

我用《Python速成类(class)》一书中的pygame创建了Python游戏。它有 9 个 .py 文件(1 个用于运行游戏,其他 8 个用于模块,如:设置、游戏功能等)和一个文件夹,其中有 2 个图像文件。我想与没有python和pygame的 friend 分享这个项目,所以我想将整个项目转换为.exe(windows可执行文件)

我尝试过 cx_Freeze、py2exe 和 pyinstaller。 Pyinstaller 是最成功的一个,它创建了 .exe 文件,但是当我运行它时,它会黑屏并关闭。我认为原因是它无法访问我正在使用的模块(8 个 .py 文件)和/或图像文件。

这是主要的 .py 代码,它导入了什么以及其他内容..

import pygame
from pygame.sprite import Group
from settings import Settings
from ship import Ship
import game_functions as gf
from game_stats import GameStats
from scoreboard import Scoreboard
from button import Button


def run_game():
pygame.init()
...

如果您需要任何其他信息,请随时询问!

最佳答案

首先,我建议您在需要显示代码时使用 Markdown;它非常简单,而且更容易阅读。例如,在代码之前添加 ```python 并在末尾添加 ```。代码将被格式化并具有语法突出显示。例如,您的代码不再显示在一行上,而是变为:

import pygame
from pygame.sprite import Group
from settings import Settings
from ship import Ship
import game_functions as gf
from game_stats import GameStats
from scoreboard import Scoreboard
from button import Button

def run_game(): pygame.init() ...

现在,谈谈你的问题。根据cx_Freeze documentation :

Different bases serve for different types of application on Windows (GUI, console application or service).

使用cx_Freeze,您需要在setup.py文件中指定应用程序是GUI(图形用户界面),例如:

import sys
from cx_Freeze import setup, Executable

# GUI applications require a different base on Windows (the default is for a
# console application).
base = None
if sys.platform == "win32":
base = "Win32GUI"

setup( name = "guifoo",
version = "0.1",
description = "My GUI application!",
executables = [Executable("guifoo_main.py", base=base)])

我还没有检查所有其他“python 到独立应用程序转换器”,但我想可能需要更改类似的内容才能正确执行应用程序,而不是作为控制台应用程序。当出现此类问题时,我建议您花点时间仔细阅读其文档。

希望有帮助!

关于python - 想要将pygame项目转换为windows可执行文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56497487/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com