输入 conda create --name gym python=3.7 创建gym环境(gym是我自己设置的环境名字)
出现这样界面之后选y 就开始创建了 现在只需等待 创建成果界面如下
创建完输入 source activate gym 激活gym环境 前面标签会由base变为gym(自己设置的名字)
下一步输入pip install gym下载安装
提示安装成功后 通过
gedit ~/.bashrc (打开文件)
export PYTHONPATH="home/gym:$PATHNONPATH" (将这句添到文件末尾,保存文件就得了,home/gym是gym的存储路径)
配置环境变量
现在桌面创建test.py文件 在里面输入以下代码
import gym
env = gym.make('CartPole-v1', render_mode="human") # 创建游戏环境
observation = env.reset() # 游戏回到初始状态
for _ in range(1000):
env.render() # 显示当前时间戳的游戏画面
action = env.action_space.sample() # 随机生成一个动作
# 与环境交互,返回新的状态,奖励,是否结束标志,其他信息
observation, reward , done , info,_ = env.step(action)
if done:#游戏回合结束,复位状态
observation = env.reset()
env.close()
或者
import gym
env = gym.make('Hero-ram-v0',render_mode="human")
for i_episode in range(20):
observation = env.reset()
for t in range(100):
env.render()
print(observation)
action = env.action_space.sample()
observation, reward, done, info ,_= env.step(action)
if done:
print("Episode finished after {} timesteps".format(t+1))
break
两个都可以 完成后保存 去终端输入 python3 test.py运行文件出现以下结果
测试通过 安装成功!
1、没有跳出运行界面:
报错: WARN: You are calling render method without specifying any render mode. You can specify the render_
解决:将test.py文件第二行代码 env = gym.make('Hero-ram-v0') 改为 env = gym.make('Hero-ram-v0',render_mode="human") (之前有的博客写的是前面的代码)
2、代码正确但是没有跳出运行界面的:
报错:"pygame is not installed, run `pip install gym[classic_control]`"
gym.error.DependencyNotInstalled: pygame is not installed, run `pip install gym[classic_control]`安装下pip install gym[classic_control] 因为缺少pygame包
3、有的博客会让直接在终端python模式输入以上测试代码
报错: SyntaxError: multiple statements found while compiling a single statement //python多行输入导致的
解决:新建py文件 在终端运行py文件(上文测试阶段有详述)
4、运行报错:ValueError: too many values to unpack (expected 4) //前后参数数量不一致导致的
解决:将test.py文件中报错行代码改为 observation, reward, done, info , _ = env.step(action)
5、运行成功了 但只闪了一下后就退掉了 或者
报错:gym.error.NameNotFound: Environment Hero-ram doesn't exist.
解决:pip install ale-py
pip install gym[accept-rom-license]