0 安装Miniconda
用wget命令下载
wget -c https://repo.anaconda.com/miniconda/Miniconda2-latest-Linux-x86_64.sh
授予权限并且运行
chmod 777 Miniconda2-latest-Linux-x86_64.sh
sh Miniconda2-latest-Linux-x86_64.sh
安装Mujoco
mujoco-210
https://github.com/google-deepmind/mujoco/releases?page=3
修改.bashrc
安装mujoco_py
conda env list
conda create -n mujoco_py python=3.6
conda activate mujoco_py
pip intsall mujoco_py
安装spinningup(按需安装)
git clone https://github.com/openai/spinningup.git
cd spinningup
pip install -e .
安装问题处理:
0、检查conda虚拟环境的python版本是否正确
有时可能是conda环境出问题了,虚拟环境可能始终为系统默认的python版本,而不是自己设定的
建议重装conda环境。
1、在 conda 环境下 pip install mpi4py 安装 mpi4py 库时出现编译报错,报错信息为:
line 301: x86_64-conda_cos6-linux-gnu-cc: command not found
failure.
removing: _configtest.c _configtest.o
error: Cannot compile MPI programs. Check your configuration!!!
[end of output]
note: This error originates from a subprocess, and is likely not a problem with pip.
ERROR: Failed building wheel for mpi4py
Failed to build mpi4py
ERROR: Could not build wheels for mpi4py, which is required to install pyproject.toml-based projects
所以导致该错误的原因是
x86_64-conda_cos6-linux-gnu-cc: command not found
即没有找到 x86_64-conda_cos6-linux-gnu-cc。只需执行以下命令安装即可:
conda install gcc_linux-64
安装完成后重新执行 pip install mpi4py 即可完成安装。
2、现象:终端输出类似下面的命令,并卡住不动
Building wheel for opencv-python (PEP 517) ...
更新pip版本
pip install --upgrade pip
显示安装进程
pip install opencv-python -i https://pypi.tuna.tsinghua.edu.cn/simple --verbose
等待安装完成
windows:
教程如下:
1、https://blog.csdn.net/weixin_44377470/article/details/104910010
2、https://zhuanlan.zhihu.com/p/502112539
3、http://t.csdn.cn/OJGis
4、https://blog.csdn.net/weixin_44377470/article/details/104910010
注意:2当中,mujoco_py从github下载后进行解压,将解压后的mujoco_py复制到对应的conda环境下。
3、GLFW问题
https://blog.csdn.net/Youtian_/article/details/103841453
GLEW 错误:(这个错误比较棘手)
ERROR GLEW initalization error: Missing GL version
按如下操作进行:
sudo apt-get install libglfw3 libglew2.0
将运行程序与显卡进行动态链接
sudo gedit ~/.bashrc # 在.bashrc中添加以下内容
export LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libGLEW.so:
source ~/.bashrc # 执行生效
4、AttributeError: module ‘mujoco_py’ has no attribute 'utils’
import mujoco_py
from mujoco_py import utils #<-------修改1
import os
mj_path = utils.discover_mujoco() #<--------修改2 删除_ 和 mujoco_py
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)
sim.step()
print(sim.data.qpos)
注意:有时候显示无GLFW,如无法解决,可在终端运行
python XXXX.py
5、在Python中运行import mujoco_py,报了以下的错误:
ImportError: DLL load failed while importing cymj: The specified module could not be found.
这是因为, 从 Python 3.8 开始, 只加载受信任的 dll. 因此, 必须将安装的 mujoco 版本的位置添加到允许的 DLL 列表中:
import os
os.add_dll_directory(os.environ["USERPROFILE"] + "/.mujoco/mjpro150/bin") # Only for Windows System
import mujoco_py
导入正常. 在之后的代码里, 为了简洁, 将省略 os.add_dll_directory
6、报错:
Exception: Please add mujoco library to your PATH:
set PATH=C:\User\cxy\ .mujoco\mujoco200\bin;%PATH%
●解决办法:进入C:\Users\cxy\anaconda3\envs\py37\Lib\site-packages\mujoco_py中(直接点击报错蓝字路径),修改builder.py文件,在76行下面加一句:os.environ[var]+=";"+lib_path
7、Cython.Compiler.Errors.CompileError: /home/yian/miniconda2/envs/mujoco/lib/p
[1/1] Cythonizing /root/anaconda3/envs/mujoco_env/lib/python3.8/site-packages/mujoco_py/cymj.pyx
Error compiling Cython file:
------------------------------------------------------------
...
See c_warning_callback, which is the C wrapper to the user defined function
'''
global py_warning_callback
global mju_user_warning
py_warning_callback = warn
mju_user_warning = c_warning_callback
^
------------------------------------------------------------
/root/anaconda3/envs/mujoco_env/lib/python3.8/site-packages/mujoco_py/cymj.pyx:92:23: Cannot assign type 'void (const char *) except * nogil' to 'void (*)(const char *) noexcept nogil'
Error compiling Cython file:
------------------------------------------------------------
...
See c_warning_callback, which is the C wrapper to the user defined function
'''
global py_error_callback
global mju_user_error
py_error_callback = err_callback
mju_user_error = c_error_callback
^
------------------------------------------------------------
/root/anaconda3/envs/mujoco_env/lib/python3.8/site-packages/mujoco_py/cymj.pyx:127:21: Cannot assign type 'void (const char *) except * nogil' to 'void (*)(const char *) noexcept nogil'
Traceback (most recent call last):
File "main.py", line 8, in <module>
import d4rl
File "/root/anaconda3/envs/mujoco_env/lib/python3.8/site-packages/d4rl/__init__.py", line 14, in <module>
import d4rl.locomotion
File "/root/anaconda3/envs/mujoco_env/lib/python3.8/site-packages/d4rl/locomotion/__init__.py", line 2, in <module>
from d4rl.locomotion import ant
File "/root/anaconda3/envs/mujoco_env/lib/python3.8/site-packages/d4rl/locomotion/ant.py", line 20, in <module>
import mujoco_py
File "/root/anaconda3/envs/mujoco_env/lib/python3.8/site-packages/mujoco_py/__init__.py", line 2, in <module>
from mujoco_py.builder import cymj, ignore_mujoco_warnings, functions, MujocoException
File "/root/anaconda3/envs/mujoco_env/lib/python3.8/site-packages/mujoco_py/builder.py", line 504, in <module>
cymj = load_cython_ext(mujoco_path)
File "/root/anaconda3/envs/mujoco_env/lib/python3.8/site-packages/mujoco_py/builder.py", line 110, in load_cython_ext
cext_so_path = builder.build()
File "/root/anaconda3/envs/mujoco_env/lib/python3.8/site-packages/mujoco_py/builder.py", line 226, in build
built_so_file_path = self._build_impl()
File "/root/anaconda3/envs/mujoco_env/lib/python3.8/site-packages/mujoco_py/builder.py", line 278, in _build_impl
so_file_path = super()._build_impl()
File "/root/anaconda3/envs/mujoco_env/lib/python3.8/site-packages/mujoco_py/builder.py", line 239, in _build_impl
dist.ext_modules = cythonize([self.extension])
File "/root/anaconda3/envs/mujoco_env/lib/python3.8/site-packages/Cython/Build/Dependencies.py", line 1134, in cythonize
cythonize_one(*args)
File "/root/anaconda3/envs/mujoco_env/lib/python3.8/site-packages/Cython/Build/Dependencies.py", line 1301, in cythonize_one
raise CompileError(None, pyx_file)
Cython.Compiler.Errors.CompileError: /root/anaconda3/envs/mujoco_env/lib/python3.8/site-packages/mujoco_py/cymj.pyx
pip install Cython==3.0.0a10
8、distutils.errors.CompileError: command ‘/usr/bin/gcc’ failed with exit code 1
分发、编译错误,原因是缺少libosmesa6-dev、patchelf用以动态链接
第一步:安装libosmesa6-dev
sudo apt install libosmesa6-dev
安装好libosmesa6-dev,如若运行测试缺少如下包,便执行第二步
第二步:安装patchelf(两个命令选一个就行)
pip install patchelf
sudo apt-get -y install patchelf
gym安装问题
问题一:
nameerror: name ‘glpushmatrix‘ is not defined
更换pyglet包的版本
pip install pyglet == 1.5.27
问题二:
obv,action,done,_=action 值太多
pip install gym==0.19.0