在 Ubuntu 20.04 上的 Conda 虚拟环境中安装多个版本 MuJoCo并实现自由切换

我最近需要在我的 Ubuntu 20.04 系统上设置多个版本的 MuJoCo,并在不同的 Conda 虚拟环境中使用它们。以下是我面临的挑战以及我如何解决这些挑战的总结。

挑战

  1. 管理 MuJoCo 的多个版本:我需要一种方法来无缝地在不同的 MuJoCo 版本之间切换。
  2. 配置环境变量:确保在每个 Conda 虚拟环境中正确设置了必要的环境变量。
  3. 验证 MuJoCo 安装:测试设置以确认 MuJoCo 在我的虚拟环境中正常运行。

解决方案

1. 安装 MuJoCo

mujoco 210 

Ubantu 20.04 安装 Mujoco210、mujoco-py、gym及报错解决

mujoco 200

2.通过设置环境变量在不同的 Conda 虚拟环境中使用

之前在我安装好mujoco210后,切换到新的虚拟环境发现用不了,最后发现是环境变量的问题。

为了确保在我的 Conda 虚拟环境中正确设置环境变量,使用以下命令。

conda activate tt1  #tt1是我的虚拟环境名称,可以换成你自己的(下面注意保持一致)
conda env config vars set LD_LIBRARY_PATH=$LD_LIBRARY_PATH:~/.mujoco/mujoco210/bin
conda deactivate
conda activate tt1

验证安装

为了验证 MuJoCo 是否设置正确,我创建了一个简单的测试脚本。

test_mujoco_minimal.py

import mujoco_py
import os

# Path to the humanoid.xml model
model_path = os.path.join(mujoco_py.utils.discover_mujoco(), 'model/humanoid.xml')

# Load the model
model = mujoco_py.load_model_from_path(model_path)
sim = mujoco_py.MjSim(model)

# Print the initial state of the simulation
print("Initial state:", sim.data.qpos)

# Perform a simulation step
sim.step()

# Print the state after one step
print("State after one step:", sim.data.qpos)

# Render the simulation to a window
viewer = mujoco_py.MjViewer(sim)
while True:
    sim.step()
    viewer.render()

3. 不同版本的mujoco切换

创建一个脚本switch_mujoco.sh来在 MuJoCo 版本之间切换:

#!/bin/bash

MUJOCO_DIR=$HOME/mujoco

if [ $# -eq 0 ]; then
    echo "Usage: switch_mujoco.sh <version>"
    echo "Available versions:"
    ls $MUJOCO_DIR
    exit 1
fi

VERSION=$1
MUJOCO_PATH=$MUJOCO_DIR/$VERSION

if [ ! -d $MUJOCO_PATH ]; then
    echo "Version $VERSION not found in $MUJOCO_DIR"
    exit 1
fi

export MUJOCO_PY_MUJOCO_PATH=$MUJOCO_PATH
export LD_LIBRARY_PATH=$MUJOCO_PATH/bin:$LD_LIBRARY_PATH

echo "Switched to MuJoCo version $VERSION"

使脚本可执行:

chmod +x switch_mujoco.sh

版本间切换:

  • 使用脚本在 MuJoCo 版本之间切换。例如,要切换到版本mujoco200

source switch_mujoco.sh mujoco200

切换到mujoco210

source switch_mujoco.sh mujoco210

  • 4
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值