ubuntu20.04安装Gym

按照官网Gym指导安装Gym,输入以下代码

pip install gym

成功安装gym0.21.0,输入下面代码克隆gym在github的库

git clone https://github.com/openai/gym

出现错误

(RL) johnwatson@rescuer-r720:~$ git clone https://github.com/openai/gym
正克隆到 'gym'...
fatal: 无法访问 'https://github.com/openai/gym/':GnuTLS recv error (-110): The TLS connection was non-properly terminated.

将代码更改为

git clone git://github.com/openai/gym

成功克隆。

运行代码来添加环境

cd gym
pip install -e .

出现问题

(RL) johnwatson@rescuer-r720:~/gym$ pip install -e .
Obtaining file:///home/johnwatson/gym
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
    Preparing wheel metadata ... done
ERROR: Could not find a version that satisfies the requirement importlib-metadata>=4.10.0; python_version < "3.10" (from gym) (from versions: 0.0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 0.10, 0.11, 0.12, 0.13, 0.14, 0.15, 0.16, 0.17, 0.18, 0.19, 0.20, 0.21, 0.22, 0.23, 1.0.0, 1.1.0, 1.1.1, 1.1.2, 1.1.3, 1.2.0, 1.3.0, 1.4.0, 1.5.0, 1.5.1, 1.5.2, 1.6.0, 1.6.1, 1.7.0, 2.0.0, 2.1.0, 2.1.1, 2.1.2, 3.0.0, 3.1.0, 3.1.1, 3.2.0, 3.3.0, 3.4.0, 3.5.0, 3.6.0, 3.7.0, 3.7.1, 3.7.2, 3.7.3, 3.8.0, 3.8.1, 3.8.2, 3.9.0, 3.9.1, 3.10.0, 3.10.1, 4.0.0, 4.0.1, 4.1.0, 4.2.0, 4.3.0, 4.3.1, 4.4.0, 4.5.0, 4.6.0, 4.6.1, 4.6.2, 4.6.3, 4.6.4, 4.7.0, 4.7.1, 4.8.0, 4.8.1, 4.8.2, 4.8.3)
ERROR: No matching distribution found for importlib-metadata>=4.10.0; python_version < "3.10"

错误:不能找到一个合适的版本满足需求(importlib-metadata>=4.10.0;python_version<3.10)

从错误上看程序判定我的importlib-metadata大于4.10,python小于3.10,没有一个合适的gym来满足importlib-metadata,python的版本。

查看了我在RL虚拟环境下的importlib-metadata和python版本

importlib-metadata        4.8.3

python                    3.6.13

importlib-metadata不大于4.10,python小于3.10

“错误” 的判断和我查询的不太一样。

在Gym的Github上看到这样一段话:We support Python 3.7, 3.8, 3.9 and 3.10 on Linux and macOS. We will accept PRs related to Windows, but do not officially support it.

说明Gym的最低Python支持版本是3.7。从下面的图可以看到torch1.1.0最高可以匹配python3.7,所以可以将python升级到3.7。

ubuntu20.04安装Gym_第1张图片

ubuntu20.04安装Gym_第2张图片

 尝试将Python升级到3.7,目的是在linux虚拟环境下升级python到指定版本,转念一想,之前安装CUDA,Pytorch还挺方便的,所以就重新创建一个python3.7的虚拟环境更方便些。

成功安装python3.7的虚拟环境后,重复以上步骤,成功安装gym0.21.0

接下来是安装gym的所有环境,运行以下代码

pip install -e .[all]

从这里出现错误,为mujoco-py造轮子失败

  Building wheel for mujoco-py (setup.py) ... error
  ERROR: Command errored out with exit status 1:
   command: /home/johnwatson/anaconda3/envs/PY37RL/bin/python -u -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-stmlc2i5/mujoco-py_ec54c2a403274091be6b50a22020eb73/setup.py'"'"'; __file__='"'"'/tmp/pip-install-stmlc2i5/mujoco-py_ec54c2a403274091be6b50a22020eb73/setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' bdist_wheel -d /tmp/pip-wheel-7uxcj4bj
       cwd: /tmp/pip-install-stmlc2i5/mujoco-py_ec54c2a403274091be6b50a22020eb73/
  Complete output (54 lines):
  running bdist_wheel
  running build
  
  You appear to be missing MuJoCo.  We expected to find the file here: /home/johnwatson/.mujoco/mjpro150
  
  This package only provides python bindings, the library must be installed separately.
  
  Please follow the instructions on the README to install MuJoCo
  
      https://github.com/openai/mujoco-py#install-mujoco
  
  Which can be downloaded from the website
  
      https://www.roboti.us/index.html
  
  Traceback (most recent call last):
    File "", line 1, in 
    File "/tmp/pip-install-stmlc2i5/mujoco-py_ec54c2a403274091be6b50a22020eb73/setup.py", line 44, in 
      tests_require=read_requirements_file('requirements.dev.txt'),
    File "/home/johnwatson/anaconda3/envs/PY37RL/lib/python3.7/site-packages/setuptools/__init__.py", line 153, in setup
      return distutils.core.setup(**attrs)
    File "/home/johnwatson/anaconda3/envs/PY37RL/lib/python3.7/distutils/core.py", line 148, in setup
      dist.run_commands()
    File "/home/johnwatson/anaconda3/envs/PY37RL/lib/python3.7/distutils/dist.py", line 966, in run_commands
      self.run_command(cmd)
    File "/home/johnwatson/anaconda3/envs/PY37RL/lib/python3.7/distutils/dist.py", line 985, in run_command
      cmd_obj.run()
    File "/home/johnwatson/anaconda3/envs/PY37RL/lib/python3.7/site-packages/wheel/bdist_wheel.py", line 299, in run
      self.run_command('build')
    File "/home/johnwatson/anaconda3/envs/PY37RL/lib/python3.7/distutils/cmd.py", line 313, in run_command
      self.distribution.run_command(command)
    File "/home/johnwatson/anaconda3/envs/PY37RL/lib/python3.7/distutils/dist.py", line 985, in run_command
      cmd_obj.run()
    File "/tmp/pip-install-stmlc2i5/mujoco-py_ec54c2a403274091be6b50a22020eb73/setup.py", line 28, in run
      import mujoco_py  # noqa: force build
    File "/tmp/pip-install-stmlc2i5/mujoco-py_ec54c2a403274091be6b50a22020eb73/mujoco_py/__init__.py", line 3, in 
      from mujoco_py.builder import cymj, ignore_mujoco_warnings, functions, MujocoException
    File "/tmp/pip-install-stmlc2i5/mujoco-py_ec54c2a403274091be6b50a22020eb73/mujoco_py/builder.py", line 502, in 
      mjpro_path, key_path = discover_mujoco()
    File "/tmp/pip-install-stmlc2i5/mujoco-py_ec54c2a403274091be6b50a22020eb73/mujoco_py/utils.py", line 93, in discover_mujoco
      raise Exception(message)
  Exception:
  You appear to be missing MuJoCo.  We expected to find the file here: /home/johnwatson/.mujoco/mjpro150
  
  This package only provides python bindings, the library must be installed separately.
  
  Please follow the instructions on the README to install MuJoCo
  
      https://github.com/openai/mujoco-py#install-mujoco
  
  Which can be downloaded from the website
  
      https://www.roboti.us/index.html
  
  ----------------------------------------
  ERROR: Failed building wheel for mujoco-py

在网上查询后,发现这篇比较靠谱如何在linux中安装gym[all]_Joney(^_^)的博客-CSDN博客_linux安装gym

按照他的方法进行安装mujoco

下载mujoco到.mujoco目录内

cd ~
mkdir .mujoco
wget https://www.roboti.us/download/mjpro150_linux.zip
unzip mjpro150_linux.zip

 下载license到.mujoco和.mujoco/mjpro150/bin/两个目录下

wget https://www.roboti.us/file/mjkey.txt
cd .mujoco/mjpro150/bin/
wget https://www.roboti.us/file/mjkey.txt

打开.bashrc文件

gedit ~/.bashrc

 在.bashrc文件中添加下面的代码

LD_LIBRARY_PATH=$HOME/.mujoco/mujoco210/bin pip install mujoco-py

然后source一下

source ~/.bashrc

 下载对应的150版本,这段代码要在gym目录下运行才能成功。

wget https://github.com/openai/mujoco-py/archive/refs/tags/1.50.1.0.tar.gz

2022年5月6日


在gym目录下安装依赖包

pip install -r requirements.txt

遇到问题

No such file or directory: 'patchelf': 'patchelf'

 输入此代码解决

sudo apt-get update -y
sudo apt-get install -y patchelf

 输入代码安装gym的完整版

pip install -e .[all]

安装成功。

你可能感兴趣的:(git)