pip3安装gym0.21.0失败,安装stable-baselines3失败解决

最近在学习强化学习,在安装gym==0.21.0和安装stable-baselines3==1.8.0过程中出现大量报错,经过尝试后给出解决方法

问题

报错如图,其中requirements.txt

gym==0.21.0
stable-baselines3==1.8.0
sb3-contrib==1.8.0
pygame==2.3.0

在这里插入图片描述

尝试过升级pipsetuptools,分别安装gym,stable-baselines3,均无法解决问题

安装gym == 0.21.0后安装stable-baselines3会显示
在这里插入图片描述
大概是gym == 0.21.0 的安装失败是因为该版本的元数据无效,并且 pip 版本 24.1 及以上不再支持这种无效的元数据。

解决方案

解决方法就是不安装gym == 0.21.0,因为这个包的问题,建议直接安装gym==0.23.1,同时替换stable-baselines3==1.8.0,改成stable_baselines3==2.4.0

下面是更改后的requirements.txt

gym==0.23.1
stable-baselines3
sb3-contrib
pygame==2.3.0
shimmy>=0.2.1
pip3 install -r requirements.txt

实测能够完美解决安装问题,不会出现兼容问题。

其它方法

如果非要安装gym == 0.21.0,当然也有其它方法,可以回退pip版本到pip<24.1

先创建环境:

conda create -n envname python=3.8.16
conda activate envname

回退pip和setuptools版本:

C:\Users\<usrname>\.conda\envs\envname\python.exe -m pip install setuptools==65.5.0 pip==21

安装:

pip install .......

结果如下,安装成功
在这里插入图片描述

总结:

失败的主要原因是安装的pip和setuptools版本过高产生的,降低版本即可,当然也可以升级安装gym==0.23.1