You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

安装gym[toy_text]时pygame编译报错:找不到vcvarsall.bat

解决gym[toy_text]安装时pygame编译找不到vcvarsall.bat的问题

我在Gym的Frozen Lake环境上实现Q-learning算法,重置环境时系统提示需安装gym[toy_text]。执行pip install gym[toy_text]命令时,在准备pygame 2.1.0元数据阶段出现报错,错误信息显示无法找到vcvarsall.bat,报错详情如下:

pip install gym[toy_text]
Requirement already satisfied: gym[toy_text] in c:\users\darkian\appdata\local\programs\python\python311\lib\site-packages (0.26.2)
Requirement already satisfied: numpy>=1.18.0 in c:\users\darkian\appdata\local\programs\python\python311\lib\site-packages (from gym[toy_text]) (1.24.2)
Requirement already satisfied: cloudpickle>=1.2.0 in c:\users\darkian\appdata\local\programs\python\python311\lib\site-packages (from gym[toy_text]) (2.2.1)
Requirement already satisfied: gym-notices>=0.0.4 in c:\users\darkian\appdata\local\programs\python\python311\lib\site-packages (from gym[toy_text]) (0.0.8)
Collecting pygame==2.1.0 (from gym[toy_text])
  Using cached pygame-2.1.0.tar.gz (5.8 MB)
  Preparing metadata (setup.py) ... error
  error: subprocess-exited-with-error

  × python setup.py egg_info did not run successfully.
  │ exit code: 1
  ╰─> [77 lines of output]


      WARNING, No "Setup" File Exists, Running "buildconfig/config.py"
      Using WINDOWS configuration...

      Traceback (most recent call last):
        File "<string>", line 2, in <module>
        File "<pip-setuptools-caller>", line 34, in <module>
        File "C:\Users\darkian\AppData\Local\Temp\pip-install-bhryef_3\pygame_243ddab4cefc40b08b484f49e504b24a\setup.py", line 388, in <module>
          buildconfig.config.main(AUTO_CONFIG)
        File "C:\Users\darkian\AppData\Local\Temp\pip-install-bhryef_3\pygame_243ddab4cefc40b08b484f49e504b24a\buildconfig\config.py", line 234, in main
          deps = CFG.main(**kwds)
                 ^^^^^^^^^^^^^^^^
        File "C:\Users\darkian\AppData\Local\Temp\pip-install-bhryef_3\pygame_243ddab4cefc40b08b484f49e504b24a\buildconfig\config_win.py", line 511, in main
          return setup_prebuilt_sdl2(prebuilt_dir)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        File "C:\Users\darkian\AppData\Local\Temp\pip-install-bhryef_3\pygame_243ddab4cefc40b08b484f49e504b24a\buildconfig\config_win.py", line 471, in setup_prebuilt_sdl2
          DEPS.configure()
        File "C:\Users\darkian\AppData\Local\Temp\pip-install-bhryef_3\pygame_243ddab4cefc40b08b484f49e504b24a\buildconfig\config_win.py", line 336, in configure
          from . import vstools
        File "C:\Users\darkian\AppData\Local\Temp\pip-install-bhryef_3\pygame_243ddab4cefc40b08b484f49e504b24a\buildconfig\vstools.py", line 11, in <module>
          compiler.initialize()
        File "C:\Users\darkian\AppData\Local\Programs\Python\Python311\Lib\site-packages\setuptools\_distutils\msvc9compiler.py", line 403, in initialize
          vc_env = query_vcvarsall(VERSION, plat_spec)
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        File "C:\Users\darkian\AppData\Local\Programs\Python\Python311\Lib\site-packages\setuptools\_distutils\msvc9compiler.py", line 281, in query_vcvarsall
          raise DistutilsPlatformError("Unable to find vcvarsall.bat")
      distutils.errors.DistutilsPlatformError: Unable to find vcvarsall.bat

解决办法

  • 直接安装预编译的pygame二进制包,跳过编译步骤:
    执行命令:pip install pygame==2.1.0 --only-binary :all:,强制使用现成的编译好的包,不用自己编译。或者尝试安装更高兼容版本:pip install pygame>=2.1.0 --only-binary :all:。
  • 安装Visual Studio编译工具:
    下载并打开Visual Studio Installer,安装「Desktop development with C++」工作负载,确保包含MSVC v143工具集(对应Python 3.11)。安装完成后重启命令行,再重新运行pip install gym[toy_text]。
  • 跳过pygame依赖(仅文本模式运行):
    如果不需要Frozen Lake的可视化界面,安装时可以排除pygame:pip install gym[toy_text] --exclude-deps pygame。之后运行环境时使用文本渲染模式:env = gym.make("FrozenLake-v1", render_mode="ansi")。

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.21 23:33:22