mujoco-py,tensorflow-gpu,robosuite,gym多版本安装,包冲突解决教程(上篇)
前言
之前我们已经安装好了mujoco_py, 版本是2.0. 2.5,tensorflow-gpu 版本是1.10.0,python版本是3.5。2019.10.23日惊喜的发现,mujoco_py更新到了2.0.2.7,并且长期困惑本人的PID控制,有了demo测试文件test_pid.py,那我开始要再装个conda虚拟环境,再装一个2.0.2.7版本啊.额,再装个tensorflow-gpu==1.14.0版本,同时,常用的robosuite库的安装,gym库安装,与conda虚拟环境自带的numpy库,都可能相互存在矛盾长途的问题,好吧,那我写个博客教程。
这是我的第一个博客教程,不足之处欢迎批评指正。但是内容正确,本人亲测安装成功无bug。
一. 创建conda虚拟环境
1:选择python版本
下载github上openai/mujoco_py最新的包,直接浏览器下载zip包,解压成mujoco-py-master文件夹,里面有个version.py文件,可以看见python的版本,如下
那么tensorflow-gpu==1.14.0的python版本是多少,不知道啊,我就用Python3.6先试试吧,那我回头第一个库就先装tensorflow吧.
2.创建conda虚拟环境
conda create -n mujoco_env_2027 python==3.6
二. 安装tensorflow-gpu==1.14.0
conda activate mujoco_env_2027
#注意,一定要用conda来安装,而不是pip,conda会帮你安装相关依赖。依赖冲突后面我们再解决
conda install tensorflow-gpu==1.14.0
# 若上行命名安装的太慢,ctrl+c停止,用国内源安装,下面是科大源
conda install -n mujoco_env_2027 --channel https://mirrors.ustc.edu.cn/anaconda/pkgs/main/ tensorflow-gpu==1.14.0
测试tensorflow是否安装成功。若下述命名执行没有报错,则说明tensorflow安装成功。后面其它步骤还有注意,虽然tensorflow能运行了,可能运行别的库,可能会报错numpy库冲突。
source activate mujoco_env_2027
python
# 进入python程序
import tensorflow as tf
sess = tf.Session()
#若上述命名执行没有报错,则说明tensorflow安装成功。
conda安装tensorflow-gpu会帮你安装cudatoolkit,cudnn等工具包,注意,他还帮你又安装了一个numpy包,原先创建虚拟环境就本身自带了numpy包,这就是导致后面Numpy冲突的原因,见图示:
三、安装mujoco_py
1、查看mujoco_py对应的numpy等依赖库的版本
查看之前下载解压的mujoco-py-master文件夹,里面setup.py提到了requirement.txt,requirement.dev.txt再打开requirement.txt,requirement.dev.txt,可以看见mujoco_py的必要依赖包的版本。可以看见numpy版本与tensorflow-gpu==1.14.0依赖的自动下载的1.17.2版本不冲突。所以不用修改setup.py和requirement.txt,requirement.dev.txt。
requirement.txt
requirement.dev.txt
2、安装mujoco_py 2.2.0.7版本
从github上下载mujoco_py 2.2.0.7版本源码,
在对应虚拟环境下面(激活虚拟环境),进入到mujoco-py-master(下载的mujoco-py源码)目录下,可以看见setup.py,requirement.txt,requirement.dev.txt文件。执行下面命令:
#在对应虚拟环境下面,进入到mujoco-py-master目录下。命名执行等待时间较长,耐心等待
pip install -r requirement.txt
pip install -r requirement.dev.txt
python setup.py install
#测试mujoco_py是否安装成功.出行画面说明成功。第一次运行等待时间较长,耐心等待
python example/body_interaction.py
四、安装robosuite
1、查看robosuite对应的numpy等依赖库的版本
同mujoco_py查看依赖库的方法一样,我们发现setup.py并没有提到requirement.txt或者requirements-extra.txt中,那么这两个文件用python setup.py install是不会影响的。但是,我们发现setup.py提到了mujoco_py,那样会影响我们之前的安装,我们选择把这一行删掉,如下图阴影部分删除。
2、安装robosuite
#在对应虚拟环境下面,进入到解压下载的robosuite-master目录下。命名执行等待时间较长,耐心等待
python setup.py install
#测试robosuite是否安装成功.出行画面说明成功。第一次运行等待时间较长,耐心等待
python robosuite/demo.py
四、安装gym
1、直接pip安装gym
#在对应虚拟环境下面
pip install gym
#测试gym是否安装成功
# 进入python程序
python
import gym
#若上行没有错误,说明gym安装成功
pip安装不负责依赖包安装,若以后执行gym的复杂操作,若涉及其他库,等报错缺少哪个包,就再pip安装那个包即可。
五、openai/spiningup可能要下载的包
1、mpi4py:
在conda虚拟环境下
conda install mpi4py
2、joblib:
在conda虚拟环境下
pip install joblib
六、待补
以前出行过tensorflow-gpu==1.10.0安装,numpy库冲突,本次安装没有出现。运行了各个库的demo,也没有发现,是哪被更新了吗?等以后我再遇到了随时来补充。