Win10+Anaconda+Pycharm运行gym游戏
简介:
最近在学习莫烦老师的强化学习课程,尝试在windows系统下运行gym游戏。
参考网上博客时遇到了一些问题,例如:python3.9+gym0.26.2无法渲染游戏运行窗口
简单总结一下过程以及问题的解决办法
一、Anaconda安装:
网上教程很多,这里不再赘述,可以参考:
https://blog.csdn.net/weixin_42855758/article/details/122795125
温馨提示:记住要保证安装路径全英文、无空格
二、Anaconda配置环境
1.调出Terminal,输入conda info,出现以下界面即表示安装成功)

当然,你的信息比我少一些,这里是已经安装好包和镜像源的情况
2.设置镜像源:
$$
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free
conda config --set show_channel_urls yes
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/msy
$$
再次输入conda info,检查是否设置成功

3.创建gym环境
$$
conda create -n python396 python=3.9.6
conda create -n gym python=3.9.6
$$
这里的python396和gym只是环境名,方便自己记住就行
注:python=3.9.6为python版本,根据自己安装的python版本决定
输入:
$$
conda env list
$$
环境创建成功:

4.安装gym
输入:
$$
activate gym
$$
由此进入刚刚创建的gym环境,之后在这个环境内安装所需的包:
$$
conda install pandas
conda install tensorflow
pip3 install gym matplotlib -i https://pypi.douban.com/simple/
$$
三、Pycharm中配置解释器
创建一个新的项目,打开解释器设置,选择添加

选择现有环境并找到anaconda的安装文件夹,envs中找到刚刚创建的gym环境

四、测试
新建test.py文件,输入一下测试代码:

然后就,恭喜你,收获如下错误:

以上是参考博客https://blog.csdn.net/weixin_43907191/article/details/115707263所得的最终结果
由于作者是2021年4月14日进行的测试,距今已有半年多,gym也进行了多次更新,现最新版本为0.26.2,其中函数**env.step(action)**的返回变量数已经更新为5,这就导致了原代码出现了错误(too many values to upack)
五、Debug
将代码第12行改为:
$$
state, reward, done,info, _ = env.step( action ) # 添加一个info
$$
运行代码:

收获以上代码,代码无误
但是,我图呢?我车呢?我杆呢?
五、渲染env.render
经过一番摸索(指百度),发现没有显示游戏效果图的原因在于:
1.缺少pygame模块
2.python3.9 + gym 0.26.2版本不匹配
解决过程:
1.安装pygame模块
$$
pip install pygame
$$
注:这里我用conda安装pygame会一直显示solving environment,原因未知
2.将gym降级为0.23.0
$$
pip3 install gym matplotlib -i https://pypi.douban.com/simple/ gym==0.23.0
$$

成功删除gym 0.26.2并安装gym 0.23.0
3.将代码第12行改为:
$$
state, reward, done, _ = env.step( action ) # 删除一个info,原因在上面
$$
六:最终效果:

总结:建议直接配置一台macbook,gym完全支持mac、linux系统,无需过多配置。
参考链接:
1.Anaconda安装:https://blog.csdn.net/weixin_42855758/article/details/122795125
2.gym环境配置:https://blog.csdn.net/weixin_43907191/article/details/115707263
以上内容仅供学习参考总结,如果错误欢迎指正。