safety-gym/mujoco 环境配置
safety-gym/mujoco
safety-gym/mujoco 的安装还是相当繁琐的,这里记录一下如何在 linux 系统上配置 safety-gym
由于 safety-gym 是基于 mujoco 的,所以按照本文的流程走下来也等价于把 mujoco 环境赔了
1. 到 mojuco 官网下载 mujoco200 的压缩包和密钥
mujoco200 压缩包:Download (roboti.us)
mujoco 的密钥:License (roboti.us)
这个压缩包和密钥是可以直接下载的,不需要任何注册步骤
2. 将 mujoco200 的压缩包解压到桌面上并改名为 mujoco200
必须将解压后的文件夹改成这个名字
3. 在 root 目录下创建 ~/.mujoco
创建 ~/.mujoco 的指令:mkdir ~/.mujoco
将桌面上的 mujoco200 移动到 ~/.mujoco 当中:mv mujoco200 ~/.mujoco
4. 将密钥放进 mujoco200 中
这一步要返回到桌面 root 当中
将桌面上的密钥复制粘贴到 ~/.mujoco 中:cp mjkey.txt ~/.mujoco
将桌面上的密钥复制粘贴到 bin 中:cp mjkey.txt ~/.mujoco/mujoco200/bin
5. 添加环境变量
返回到 root 桌面,将这两句话输入进去:
export LD_LIBRARY_PATH=~/.mujoco/mujoco200/bin${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
export MUJOCO_KEY_PATH=~/.mujoco${MUJOCO_KEY_PATH}
6. 安装老版本的 mujoco_py
指令:pip install mujoco_py==2.0.2.8
7. 提前配置好一些东西
将这些也输入进去:
sudo apt install libosmesa6-dev
sudo apt-get update -y
sudo apt-get install -y patchelf
pip install PyOpenGL_accelerate
8. 安装 safety_gym
返回到 root 桌面上,依次输入这三条:
git clone https://github.com/openai/safety-gym.git
cd safety-gym
pip install -e .
执行完指令 pip install -e . 后大概率会报错,这时再执行一次 sudo apt install libosmesa6-dev 就行了
此时 numpy 的版本过低还会报一次错,这是输入命令 pip install --upgrade numpy 更新 numpy 版本就 ok 了
9. 验证环境
可以执行一个最简单的程序看是否能正常运行:
import safety_gym import gym import warnings warnings.filterwarnings('ignore') env = gym.make('Safexp-CarGoal0-v0') print(env.action_space) print(env.observation_space) done = False timestep = 0 state = env.reset() while (not done ) and timestep < 100: action = env.action_space.sample() next_observation, reward, done, info = env.step(action) print(info) timestep += 1