强化学习环境——gymnasium配置

注意,现在已经是2024年了,建议使用最新的gymnasium而不是gym

配置正确的python版本

现在是2024年的3月20日,目前的gymnasium不支持python3.12,建议使用conda创建一个3.11的环境:

1
conda create -n RL python=3.11

然后进入这个环境中:

1
conda activate RL

如果使用的是Windows下的powershell,此时你的终端最前面没有显示例如:

1
(RL) xxx@xxx.xxx.xxx.xxx:~

而是:

1
xxx@xxx.xxx.xxx.xxx:~

的话,建议先运行:

1
conda init 

然后使用

1
conda info

查看一下现在的环境是不是激活成功了

安装gymnasium

这里有两个坑,第一个是直接安装 gymnasium 只是装了个白板,里面啥也没有,需要安装的是 gymnasium[atari] gymnasium[accept-rom-license]记住,两个都要装

第二个坑是不知道为什么用conda install没有效果,所以建议用pip装,即运行:

1
pip install gymnasium[atari] gymnasium[accept-rom-license]

然后慢慢等就好了

验证安装

装完之后,记得验证一下:

1
2
import gymnasium as gym
env = gym.make('PongNoFrameskip-v4')

如果安装正确,会出现:

1
2
A.L.E: Arcade Learning Environment (version 0.8.1+53f58b7)
[Powered by Stella]

故障排查

没装license

如果出现:

1
gymnasium.error.Error: We're Unable to find the game "Pong". Note: Gymnasium no longer distributes ROMs. If you own a license to use the necessary ROMs for research purposes you can download them via `pip install gymnasium[accept-rom-license]`. Otherwise, you should try importing "Pong" via the command `ale-import-roms`. If you believe this is a mistake perhaps your copy of "Pong" is unsupported. To check if this is the case try providing the environment variable `PYTHONWARNINGS=default::ImportWarning:ale_py.roms`. For more information see: https://github.com/mgbellemare/Arcade-Learning-Environment#rom-management

说明你没装 gymnasium[accept-rom-license] 使用pip补装

没装atari

出现报错:

1
gymnasium.error.NameNotFound: Environment `PongNoFrameskip` doesn't exist.

说明只装了白板,运行上面的pip指令即可