參考 Ubantu 20.04 安裝 Mujoco210、mujoco-py、gym及報錯解決
安裝 mujoco210
- 創建 .mujoco 文件夾
mkdir ~/.mujoco
親測必須是 .mujoco 文件夾,不然會報錯!
-
下載 mujoco210-linux-x86_64.tar.gz 并解壓到 .mujoco 文件夾
mojoco下載地址 -
測試 mojoco210
cd ~/.mujoco/mujoco210/bin
./simulate ../model/humanoid.xml
安裝 mujoco-py
- 創建虛擬環境
conda create -n xxx python=3.8
conda activate xxx
- 克隆 mujoco-py
git clone https://github.com/openai/mujoco-py.git
這個路徑可以隨意放置
- 在虛擬環境下安裝 mujoco-py
cd ~/mujoco-py
pip3 install -U 'mujoco-py<2.2,>=2.1'
pip3 install -r requirements.txt
pip3 install -r requirements.dev.txt
python3 setup.py install
- 配置環境變量
gedit ~/.bashrc
# 此處更改了所參考博文中的不當之處,相同名稱的環境變量要確保所有路徑合并,不然后反復交叉報錯
# user_name 為用戶名
export LD_LIBRARY_PATH=/usr/lib/nvidia:/home/user_name/.mujoco/mujoco210/bin:$LD_LIBRARY_PATH
export LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libGLEW.so
source ~/.bashrc
- 測試 1
測試方法參照所參考的博文,在 pycharm (解釋器設置為上述虛擬環境)中粘貼以下內容:
import mujoco_py
import os
mj_path = mujoco_py.utils.discover_mujoco()
xml_path = os.path.join(mj_path, 'model', 'humanoid.xml')
model = mujoco_py.load_model_from_path(xml_path)
sim = mujoco_py.MjSim(model)print(sim.data.qpos)
# [0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.]sim.step()
print(sim.data.qpos)
# [-2.09531783e-19 2.72130735e-05 6.14480786e-22 -3.45474715e-06
# 7.42993721e-06 -1.40711141e-04 -3.04253586e-04 -2.07559344e-04
# 8.50646247e-05 -3.45474715e-06 7.42993721e-06 -1.40711141e-04
# -3.04253586e-04 -2.07559344e-04 -8.50646247e-05 1.11317030e-04
# -7.03465386e-05 -2.22862221e-05 -1.11317030e-04 7.03465386e-05
# -2.22862221e-05]
運行將會報錯,這主要是由于 pycharm 無法獲取到 .bashrc 中的環境變量信息,需要手動添加環境變量:
名稱 LD_LIBRARY_PATH
值 /usr/lib/nvidia:/home/user_name/.mujoco/mujoco210/bin:$LD_LIBRARY_PATH
在代碼處 鼠標右鍵 修改運行配置
還可能報一些文件/依賴缺失的錯,逐個安裝即可:
sudo apt-get update
sudo apt-get install \patchelf \libglew-dev \libglfw3-dev \libosmesa6-dev \libegl1-mesa-dev \python3-dev \build-essential
運行成功!
- 測試2
測試方法參照所參考的博文
conda activate mujocopy38
cd ./mujoco-py/examples
python body_interaction.py
運行成功!