第二课:开发环境搭建——Python环境配置(Anaconda)、PyTorch安装、MuJoCo安装与配置、Gymnasium库安装、验证环境

好,咱们正式开始动手了。

上一课我们聊了强化学习运动控制的整体框架,你可能已经跃跃欲试了。但别急,工欲善其事,必先利其器。这一课,我就带你一步步把开发环境搭起来。

说实话,我见过太多同学卡在环境配置上。明明代码逻辑没问题,就是跑不起来。嗯,这里我踩过的坑,今天一并帮你填平。

2.1 为什么选择这套技术栈?

你可能要问:Python版本那么多,深度学习框架也一堆,为什么偏偏选Anaconda + PyTorch + MuJoCo + Gymnasium?

我个人习惯是:稳定第一,生态第二。这套组合在机器人强化学习领域,可以说是黄金搭档。

  • Anaconda:环境隔离神器。你想想看,一个项目用PyTorch 1.13,另一个用2.0,没有conda你怎么办?
  • PyTorch:动态图机制,调试方便。我在项目中用它做策略网络,比TensorFlow顺手太多。
  • MuJoCo:物理引擎里的老牌劲旅。速度快,精度高,做运动控制首选。
  • Gymnasium:OpenAI Gym的继承者,标准化接口,省去你写环境封装的时间。

核心观点:这套环境搭建好之后,后续30节课的所有代码都能直接跑。一次配置,长期受益。

2.2 Anaconda安装与Python环境配置

先装Anaconda。去官网下载对应你操作系统的版本。我个人建议用Python 3.9或3.10,别追最新版,有些库还没适配。

2.2.1 创建虚拟环境

打开终端(Windows用Anaconda Prompt),执行:

conda create -n rl_motion python=3.9
conda activate rl_motion

这里我习惯把环境命名为rl_motion,你随意。但记住:每个项目一个独立环境,这是血的教训。我曾经因为混用环境,导致一个项目依赖冲突,重装了三次系统。

2.2.2 配置国内镜像源(可选但推荐)

如果你在国内,下载速度可能会很慢。配置清华源:

conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --set show_channel_urls yes

小技巧:配置完源之后,记得先conda update conda,把conda本身更新到最新,避免一些奇怪的bug。

2.3 PyTorch安装

PyTorch的安装,说白了就是一句话:去官网选你的配置,复制命令

打开 PyTorch官网,选择你的操作系统、包管理器(Conda/Pip)、CUDA版本。如果你没有NVIDIA显卡,选CPU版本就行。

举个例子,我常用的命令(CUDA 11.8):

conda install pytorch torchvision torchaudio pytorch-cuda=11.8 -c pytorch -c nvidia

或者用pip:

pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118

注意:CUDA版本一定要和你的显卡驱动匹配。怎么查?终端输入nvidia-smi,看右上角的CUDA Version。如果版本不对,安装后PyTorch会报错,说找不到CUDA。

安装完成后,验证一下:

python -c "import torch; print(torch.__version__); print(torch.cuda.is_available())"

如果输出True,恭喜你,PyTorch装好了。如果是False,别慌,检查一下CUDA版本或者直接用CPU版本。

2.4 MuJoCo安装与配置

MuJoCo的安装,嗯,这里曾经是最大的坑。不过现在简单多了。

2.4.1 获取MuJoCo

从2021年底开始,MuJoCo开源了,不再需要申请license。直接pip安装:

pip install mujoco

这会安装MuJoCo 2.3.x版本,以及Python绑定。

2.4.2 验证MuJoCo

写个简单脚本测试:

import mujoco
import mujoco.viewer

# 加载一个简单的模型
xml = """

  
    
    
      
      
    
  

"""
model = mujoco.MjModel.from_xml_string(xml)
data = mujoco.MjData(model)

# 模拟一步
mujoco.mj_step(model, data)
print("MuJoCo works! Box position:", data.qpos[:3])

如果输出位置信息,说明MuJoCo安装成功。

避坑指南:我曾经在Windows上遇到mujoco导入报错,提示缺少vcruntime140.dll。解决方案是安装Microsoft Visual C++ Redistributable。去微软官网下载最新版就行。

2.4.3 配置渲染(可选)

如果你想看可视化窗口,需要安装mujoco-python-viewer

pip install mujoco-python-viewer

然后运行上面的代码,把mujoco.viewer换成mujoco_python_viewer即可。

2.5 Gymnasium库安装

Gymnasium是OpenAI Gym的升级版,接口更规范,维护更积极。

2.5.1 安装Gymnasium

pip install gymnasium

如果你需要MuJoCo环境,再安装:

pip install gymnasium[mujoco]

这会自动安装MuJoCo相关的依赖。

2.5.2 测试Gymnasium环境

import gymnasium as gym

env = gym.make("HalfCheetah-v4", render_mode="human")
observation, info = env.reset()

for _ in range(100):
    action = env.action_space.sample()  # 随机动作
    observation, reward, terminated, truncated, info = env.step(action)
    
    if terminated or truncated:
        observation, info = env.reset()

env.close()

如果能看到猎豹在跑,说明环境搭建成功。

小提示:第一次运行会下载MuJoCo模型文件,可能需要几秒钟。如果卡住了,检查网络连接。

2.6 验证环境——一个完整的测试脚本

最后,我们来写一个综合测试脚本,验证所有组件是否正常工作:

import torch
import gymnasium as gym
import mujoco

print("=" * 50)
print("环境验证报告")
print("=" * 50)

# 1. 验证PyTorch
print(f"PyTorch版本: {torch.__version__}")
print(f"CUDA可用: {torch.cuda.is_available()}")

# 2. 验证MuJoCo
print(f"MuJoCo版本: {mujoco.__version__}")

# 3. 验证Gymnasium
env = gym.make("Ant-v4")
print(f"Gymnasium环境: Ant-v4")
print(f"观测空间: {env.observation_space.shape}")
print(f"动作空间: {env.action_space.shape}")

# 4. 简单模拟
obs, _ = env.reset()
for i in range(10):
    action = env.action_space.sample()
    obs, reward, terminated, truncated, _ = env.step(action)
    print(f"步数 {i+1}: 奖励={reward:.2f}")
    if terminated or truncated:
        break

env.close()
print("=" * 50)
print("所有组件验证通过!")
print("=" * 50)

运行这个脚本,如果一切正常,你会看到类似下面的输出:

==================================================
环境验证报告
==================================================
PyTorch版本: 2.1.0
CUDA可用: True
MuJoCo版本: 2.3.7
Gymnasium环境: Ant-v4
观测空间: (27,)
动作空间: (8,)
步数 1: 奖励=0.45
步数 2: 奖励=0.52
...
==================================================
所有组件验证通过!
==================================================

2.7 知识体系总览

为了让你更直观地理解本章的知识结构,我画了一张图:

开发环境搭建知识体系 强化学习运动控制环境 Anaconda PyTorch MuJoCo Gymnasium 虚拟环境 镜像源配置 CUDA版本 CPU/GPU 物理引擎 渲染配置 标准接口 MuJoCo集成 综合验证测试脚本

这张图把本章的知识点串起来了。你看,四个核心组件围绕一个中心目标,每个组件都有它的关键配置点。最后,用一个综合测试脚本把所有组件串联验证。

2.8 常见问题与解决方案

问题 原因 解决方案
conda命令找不到 未添加到环境变量 重新安装时勾选"Add to PATH"
PyTorch导入报错 CUDA版本不匹配 torch.cuda.is_available()检查
MuJoCo无法渲染 缺少OpenGL依赖 安装libgl1-mesa-glx(Linux)
Gymnasium环境加载慢 首次下载模型文件 耐心等待,或手动下载

重要提醒:如果你在Windows上遇到任何dll缺失问题,大概率是Visual C++ Redistributable没装。去微软官网下载vc_redist.x64.exe安装即可。

好了,环境搭建就到这里。你可能会觉得步骤有点多,但相信我,一次配好,后面30节课你都能直接跑代码,省心省力。

如果你在安装过程中遇到任何问题,别硬扛。检查一下版本号、路径、环境变量,90%的问题都能解决。剩下的10%,嗯,我当年也踩过,欢迎交流。


公众号:蓝海资料掘金营,微信deep3321