我尝试按如下方式导入gym:
import gym
env = gym.make("Taxi-v3")
env.reset()
env.render()
然后编译器说缺少 pygame。所以我安装了 pygame 并重新运行代码并收到错误:
---------------------------------------------------------------------------
AssertionError Traceback (most recent call last)
Input In [8], in <cell line: 5>()
3 env = gym.make("Taxi-v3")
4 env.reset()
----> 5 env.render()
File ~\Anaconda3\envs\pytorch\lib\site-packages\gym\core.py:329, in Wrapper.render(self, *args, **kwargs)
325 def render(
326 self, *args, **kwargs
327 ) -> Optional[Union[RenderFrame, List[RenderFrame]]]:
328 """Renders the environment."""
--> 329 return self.env.render(*args, **kwargs)
File ~\Anaconda3\envs\pytorch\lib\site-packages\gym\wrappers\order_enforcing.py:51, in OrderEnforcing.render(self, *args, **kwargs)
46 if not self._disable_render_order_enforcing and not self._has_reset:
47 raise ResetNeeded(
48 "Cannot call `env.render()` before calling `env.reset()`, if this is a intended action, "
49 "set `disable_render_order_enforcing=True` on the OrderEnforcer wrapper."
50 )
---> 51 return self.env.render(*args, **kwargs)
File ~\Anaconda3\envs\pytorch\lib\site-packages\gym\wrappers\env_checker.py:53, in PassiveEnvChecker.render(self, *args, **kwargs)
51 if self.checked_render is False:
52 self.checked_render = True
---> 53 return env_render_passive_checker(self.env, *args, **kwargs)
54 else:
55 return self.env.render(*args, **kwargs)
File ~\Anaconda3\envs\pytorch\lib\site-packages\gym\utils\passive_env_checker.py:316, in env_render_passive_checker(env, *args, **kwargs)
310 else:
311 assert env.render_mode is None or env.render_mode in render_modes, (
312 "The environment was initialized successfully however with an unsupported render mode. "
313 f"Render mode: {env.render_mode}, modes: {render_modes}"
314 )
--> 316 result = env.render(*args, **kwargs)
318 # TODO: Check that the result is correct
320 return result
File ~\Anaconda3\envs\pytorch\lib\site-packages\gym\envs\toy_text\taxi.py:284, in TaxiEnv.render(self)
282 return self._render_text()
283 else: # self.render_mode in {"human", "rgb_array"}:
--> 284 return self._render_gui(self.render_mode)
File ~\Anaconda3\envs\pytorch\lib\site-packages\gym\envs\toy_text\taxi.py:302, in TaxiEnv._render_gui(self, mode)
299 elif mode == "rgb_array":
300 self.window = pygame.Surface(WINDOW_SIZE)
--> 302 assert (
303 self.window is not None
304 ), "Something went wrong with pygame. This should never happen."
305 if self.clock is None:
306 self.clock = pygame.time.Clock()
AssertionError: Something went wrong with pygame. This should never happen.
我已经用 pip install pygame 安装了 pygame 并且安装成功了。 请帮助解决此错误。
尝试做
pip stable_baselines3
对我来说,它强制重新安装健身房(?),现在它可以工作了。
让我知道这是否对你有用。
像这样编写代码...
> import gym
> env = gym.make("Taxi-v3",render_mode='ansi')
> env.reset()
> print(env.render())
尝试做
pip install stable-baselines3[额外]
要解决您的问题,现在您需要在render_mode
中添加
gym.make()
:
render_mode='ansi'
。输出数据将使用print
输出到终端:>>> env = gym.make("Taxi-v3",render_mode='ansi')
>>> env.reset()
>>> print(env.render())
+---------+
|R: | : :G|
| : | : : |
| : : : : |
| | : | : |
|Y| : |B: |
+---------+
pygame
窗口显示游戏,你应该添加render_mode='human'
:>>> env = gym.make("Taxi-v3",render_mode='human')
>>> env.reset()
>>> env.render()