当前位置: 首页 > news >正文

强化学习环境安装——openAI gym

前言

在强化学习领域,OpenAI Gym 是一款极具影响力且被广泛应用的工具包。它OpenAI推出的强化学习实验环境库,为研究人员和开发者提供了一个标准化的平台,能够轻松创建、测试和比较各种强化学习算法。可以说它是用Python语言实现了离散之间智能体-环境中的环境部分。

Gym库的官网链接:https://gym.openai.com/ 。目前 Gym 也有活跃分支 Gymnasium(https://www.gymnasium.farm/ ),对原 Gym 进行了改进和扩展。

安装环境

安装环境在虚拟环境下最好,我之前在安装PyTorch的时候已经安装过虚拟环境了,如果想顺便安装PyTorch或者虚拟环境conda的可以看这里。

我的安装环境是conda 里的虚拟环境。

-windows11
-python3.9

gym可以通过pip安装或者conda 安装,所以安装之前可以尝试先更新一下安装器的版本。(当然这步是不必要的)

# pip版本更新
pip --version
python -m pip install --upgrade pip
pip --version# conda版本更新
conda --version
conda update conda # 更新conda本身
# 或者你也可以更新所有的包,当然需要先激活虚拟环境 
# conda update --all
conda --version

gym安装

gym实际上有许多的包组成,所以它可以分为最小安装和完全安装。

最小安装
直接安装gym,后面什么都不加,就是最小安装。这种安装方式只安装了gym环境最基本的一些包,好像有100多个。

# 通过pip安装
pip install gym
# 通过conda 安装
conda install gym

指定安装
如果想要安装gym里所有的包,直接在gym后面加个方括号,加上all就行。

# 通过pip安装
pip install gym[all]
# 通过conda 安装
conda install gym[all]

当然这个方括号里也可以指定特殊的包,比如经常用的box2d。

# 通过pip安装
pip install gym[box2d]
# 通过conda 安装
conda install gym[box2d]

当然这个box2d很有可能安装不了,或者你是在使用all的时候卡在box2d这块,导致整个安装失败。

这个可能是安装gym[box2d]时box2d - py轮子构建失败,swig.exe命令执行出错,我们后面再说。

gym库介绍

OpenAI Gym 提供了一系列强化学习环境库,分为 核心库扩展库


1. 核心库(必备)

库名作用安装命令常用环境示例
gym基础环境(经典控制、简单算法)pip install gymCartPole-v1, MountainCar-v0
gym-notices版本更新通知自动随 gym 安装-

2. 常用扩展库(按领域分类)

(1)经典控制 & 物理仿真

库名环境类型安装命令示例环境
gym[classic_control]经典控制问题pip install gym[classic_control]Pendulum-v1, Acrobot-v1
gym[box2d]2D 物理引擎(如车辆、机器人)pip install gym[box2d]LunarLander-v2, CarRacing-v2

(2)Atari 游戏

库名说明安装命令示例游戏
gym[atari]2600 款 Atari 游戏pip install gym[atari]Pong-v4, Breakout-v4
ale-py新版 Atari 模拟器(必装)pip install ale-py-

(3)机器人控制

库名说明安装方式示例环境
gym[robotics]Mujoco 机器人仿真pip install gym[robotics]FetchReach-v2
mujoco-pyMujoco 引擎绑定需单独安装(许可证限制)-

(4)其他扩展

库名用途安装命令备注
gym[toy_text]文本型简单环境pip install gym[toy_text]FrozenLake-v1
gym[all]一次性安装所有官方扩展pip install gym[all]不推荐(可能报错或冲突)

3. 第三方扩展库(非官方但常用)

库名用途安装命令示例
gymnasiumGym 官方分支(维护更活跃)pip install gymnasium兼容 Gym,修复了部分 Bug
procgen程序化生成环境pip install procgenCoinRun-v0
pybullet3D 物理仿真pip install pybulletAntBulletEnv-v0

4. 版本注意

  • Gym 0.26+:部分 API 变更(如 env.step() 返回 5 个值)。
  • Gymnasium:建议新项目使用(pip install gymnasium),它是 Gym 的官方继承者,维护更活跃。如果是老项目,可以import gym → import gymnasium as gym,不过 gymnasium 所有的库都需要重新安装,要确保用到的库都安装了。

安装问题

刚刚提到了安装 gym[box2d] 时出现错误的问题。它很有可能是因为 缺少 Box2D 的编译依赖(特别是 swig 和 C++ 编译工具链)。

根本原因Box2D 是一个 C++ 物理引擎,Python 的 box2d-py 包需要通过 swig 工具生成绑定代码。如果你和我一样,那么你的错误日志里会显示 swig.exe 未找到,说明系统缺少必要的编译环境。
** 解决方案**

  • 推荐方案(无需编译)
    直接安装预编译的 Box2D 包:
conda install -c conda-forge gym-box2d

这会自动处理所有依赖(包括 box2d-py 的二进制版本)。

  • 正规方案
    • 步骤 1:安装 SWIG(必须)在 Conda 环境中运行:conda install -c conda-forge swig
      或手动安装:下载 SWIG Windows 版,将 swig.exe 所在目录加入系统 PATH

    • 步骤 2:安装 Visual Studio 编译工具: 确保已安装 Visual Studio 2022 并勾选以下组件:
      “使用 C++ 的桌面开发” - “Windows 10/11 SDK”
      或通过命令行安装(管理员权限):
      winget install Microsoft.VisualStudio.2022.BuildTools --override "--add Microsoft.VisualStudio.Workload.VCTools --includeRecommended"

    • 步骤 3:清理并重新安装
      pip uninstall box2d-py gym # 清理旧版本
      conda install -c conda-forge swig # 确保 SWIG 已安装
      pip install gym[box2d] --no-cache-dir # 强制重新编译

验证安装
运行以下代码测试:

import gym
env = gym.make("LunarLander-v2")  # 使用 Box2D 环境
print("环境创建成功!")
env.close()

相关文章:

  • DevExpressWinForms-AlertControl-使用教程
  • [Es_1] 介绍 | 特点 | 图算法 | Trie | FST
  • 屏幕炫光也能轻松应对,远程控制电脑可以避免裂痕碍眼
  • JumpServer批量添加资产
  • 时间序列数据集增强构造方案(时空网络建模)
  • python 使用 mongodb 的一些方法
  • 综述:语言模型的发展及大模型推理优化
  • 5. HTML 转义字符:在网页中正确显示特殊符号
  • MongoDB培训文档大纲(超详细)
  • 2025-05-07-FFmpeg视频裁剪(尺寸调整,画面比例不变)
  • PDF解析新范式:Free2AI工具实测
  • MySQL CTE (Common Table Expressions) 详解
  • 【前端基础】6、CSS的文本属性(text相关)
  • CSS详细学习笔记
  • FAST-LIO笔记
  • SPL量化 BBIC(多空指标)
  • 代码随想录第36天:动态规划9(序列问题)
  • 机器学习简单概述
  • Open CASCADE学习|ApplicationFramework 框架使用指南
  • 数字化转型-4A架构之应用架构
  • 重庆三峡学院回应“中标价85万设备网购300元”:已终止采购
  • 网红街区如厕难,如何多管齐下补缺口?
  • 当我们提起拉动消费时,应该拉动什么消费?
  • 总粉丝破亿!当网络大V遇见硬核科技,互联网时代如何书写上海故事?
  • 上海发布首份直播电商行业自律公约,禁止虚假宣传、商业诋毁
  • A股三大股指低收:银行股再度走强,两市成交11920亿元