You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

使用Pygame开发的Python游戏运行时弹出额外黑色exe窗口的解决方法

解决Pygame运行时弹出黑色控制台窗口的方案

嘿,这个问题我帮不少开发者解决过,其实处理起来挺轻松的,分两种常用场景给你说清楚:

一、直接运行Python脚本的情况

如果你是直接运行.py格式的游戏脚本,在Windows系统下,别用默认的python.exe启动,换成pythonw.exe就搞定了:

  • pythonw.exe是Python专门为GUI程序准备的解释器,运行时不会弹出黑色控制台窗口。你可以在命令行里输入:pythonw your_game.py,或者右键脚本文件,选择“打开方式”并指定pythonw.exe作为默认打开程序。
  • 要是你用IDE(比如VS Code)开发,可以在运行配置里把解释器改成pythonw.exe。比如在VS Code的launch.json配置文件中,将pythonPath字段指向pythonw.exe的路径。

二、打包成.exe可执行文件的情况

如果需要把游戏打包成独立的.exe文件,不同打包工具对应不同的设置:

  • 用PyInstaller打包:只需要在打包命令里加上--noconsole(或简写-w)参数就行,命令如下:
    pyinstaller --noconsole your_game.py
    
    这样生成的exe文件运行时就不会弹出黑色控制台窗口了。
  • 用cx_Freeze打包:需要在setup.py配置文件中给可执行文件指定base="Win32GUI",示例代码如下:
    import cx_Freeze
    
    executables = [cx_Freeze.Executable("your_game.py", base="Win32GUI")]
    
    cx_Freeze.setup(
        name="你的游戏名称",
        options={"build_exe": {"packages": ["pygame"], "include_files": ["assets/"]}},
        executables=executables
    )
    

小提醒

如果你的游戏代码里有print()这类控制台输出语句,用上面的方法后这些输出就看不到了。要是需要调试查看输出,可以暂时换回python.exe运行脚本,或者去掉打包时的--noconsole参数,调试完成后再改回去即可。

内容的提问来源于stack exchange,提问作者SSEZehra

火山引擎 最新活动