最近在学习强化学习,在安装
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
尝试过升级pip
和setuptools
,分别安装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