Anaconda安装
Navigator | Anaconda 在这个网站上下载免费的Anaconda 下载好后,从开始菜单栏把应用程序拖到桌面上,开始使用
创建新环境
打开Anaconda Navigator
点击Environments
点击Create,创建一个新的环境
Python设为3.10.18
点击Create
开始跑代码
安装Jupyter,新环境默认没有
打开Jupyter,新建一个文档
将以下三段代码分别输入到Jupyter的单元格中,输入完按Ctrl+Enter运行(或者按Alt+Enter=运行+插入新单元格)
!pip install gym==0.26.2
!pip install pygame==2.3.0
!pip install numpy==1.23.5
!pip install matplotlib==3.5.3
# 在jupyter notebook里env.render看不到窗口
# 写一个helper类,用matplotlib刷新显示图像
# 初始化传入env,调用helper的render即可
from IPython import display # 导入display模块,用于在Jupyter Notebook中显示图像
import matplotlib
import matplotlib.pyplot as plt # 导入matplotlib库,用于绘制图像
%matplotlib inline
class GymHelper:
def __init__(self, env, figsize = (3, 3)):
self.env = env # 初始化Gym环境
self.figsize = figsize # 初始化绘图窗口大小
plt.figure(figsize = figsize) # 创建绘图窗口
self.img = plt.imshow(env.render()) # 在绘图窗口中显示初始图像
def render(self, title = None):
image_data = self.env.render() # 获取当前环境图像渲染数据
self.img.set_data(image_data) # 更新绘图窗口中的图像数据
display.display(plt.gcf()) # 刷新显示
display.clear_output(wait = True) # 有新图片时再清除绘图窗口原有图像
if title: # 如果有标题,就显示标题
plt.title(title)
# 导入gym库
import gym
# 创建CartPole环境,指定渲染模式为rgb_array,如果是在IDE中可以改为'human'
env = gym.make('CartPole-v1', render_mode='rgb_array')
# 重置环境
env.reset()
# 创建GymHelper
gym_helper = GymHelper(env)
# 循环N次
for i in range(10):
gym_helper.render(title = str(i)) # 渲染环境
action = env.action_space.sample() # 从动作空间中随机选取一个动作
env.step(action) # 执行动作
# 关闭环境
env.close()
正常情况:
输出0-9,共计10次小锤摆动图像,只要上面数字是9就说明调试成功。
笔者曾经犯的错误
- Python版本太高——无法导入gym环境——改到3.10.9
- Numpy版本太高——无法编译代码——改到1.23.5
- matplotlib版本太高——代码能跑通,但是最后一次渲染不出来,视频是9次但是输出8次——改到3.5.3
- 重新安装环境的时候发现Anaconda没反应——手动把文件夹的残留文件删掉——重新安装同名环境 但是你们只需要按我给的版本号安装,就没问题(应该吧)
祝大家顺利跑通!