如何修复 open-ai gym 中的环境错误?
how to fix environment error in open-ai gym?
代码:
import gym
env = gym.make('Breakout-v0')
我收到一个错误:
Traceback (most recent call last):
File "C:/Users/danie/Downloads/Programming/Python/Programming/Pycharm/app.py", line 40, in
gym.make("Breakout-v0")
File "C:\Users\danie\AppData\Local\Programs\Python\Python37\lib\site-packages\gym\envs\registration.py", line 156, in make
return registry.make(id, **kwargs)
File "C:\Users\danie\AppData\Local\Programs\Python\Python37\lib\site-packages\gym\envs\registration.py", line 101, in make
env = spec.make(**kwargs)
File "C:\Users\danie\AppData\Local\Programs\Python\Python37\lib\site-packages\gym\envs\registration.py", line 72, in make
cls = load(self.entry_point)
File "C:\Users\danie\AppData\Local\Programs\Python\Python37\lib\site-packages\gym\envs\registration.py", line 17, in load
mod = importlib.import_module(mod_name)
File "C:\Users\danie\AppData\Local\Programs\Python\Python37\lib\importlib_init.py", line 127, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "", line 1006, in _gcd_import
File "", line 983, in _find_and_load
File "", line 967, in find_and_load_unlocked
File "", line 677, in load_unlocked
File "", line 728, in exec_module
File "", line 219, in call_with_frames_removed
File "C:\Users\danie\AppData\Local\Programs\Python\Python37\lib\site-packages\gym\envs\atari_init.py", line 1, in
from gym.envs.atari.atari_env import AtariEnv
File "C:\Users\danie\AppData\Local\Programs\Python\Python37\lib\site-packages\gym\envs\atari\atari_env.py", line 9, in
import atari_py
File "C:\Users\danie\AppData\Local\Programs\Python\Python37\lib\site-packages\atari_py_init.py", line 1, in
from .ale_python_interface import *
File "C:\Users\danie\AppData\Local\Programs\Python\Python37\lib\site-packages\atari_py\ale_python_interface.py", line 18, in
'ale_interface/build/ale_c.dll'))
File "C:\Users\danie\AppData\Local\Programs\Python\Python37\lib\ctypes_init.py", line 434, in LoadLibrary
return self.dlltype(name)
File "C:\Users\danie\AppData\Local\Programs\Python\Python37\lib\ctypes_init.py", line 356, in init
self._handle = _dlopen(self._name, mode)
OSError: [WinError 126] The specified module could not be found
欢迎来到 SO。如果跟踪异常跟踪,您会看到在别名为 dlopen 的 ctypes init.py 文件中调用了一个共享对象加载函数。在 Windows 上,这对应于 WINAPI 的 LoadLibrary 方法。 LoadLibrary 正在尝试加载 ale_c.dll。 ALE 是 'arcade learning environment'。
在您的计算机中搜索 ale_c.dll
或 libale_c.dll
如果您有 ale_c.dll
(很可能您在 Windows 上),请参阅此 answer 以了解使用 ctypes 加载的 DLL 基本上是我提到的 LoadLibrary 调用。它提到了所有关于 DLL 加载顺序等的内容。但是,如果您需要快速解决这个问题,请将您的 dll 复制到 system32 文件夹下。
我在使用 Atari-Pacman 时遇到了类似的问题。下载64位Python 3.7的atari_py-1.2.1-cp37-cp37m-win_amd64,使用pip安装即可解决。
在以下网站的帮助下,我终于能够解决这个问题:https://towardsdatascience.com/how-to-install-openai-gym-in-a-windows-environment-338969e24d30。
基本上我必须做 3 件事:1) 安装 Microsoft Visual C++ Build Tools,2) 安装这个特定版本的 Atari https://github.com/Kojoley/atari-py.git,3) 安装 Xming。祝所有 Windows 用户好运 :) 我花了大约 3 天的时间才弄明白。
我试图让它在 Windows 10 上与 python 3.8 和 3.9 一起工作。安装 Python 3.7 并将其用作 Python 解释器 PyCharm 解决了这个问题。我在拥有 3.8 + 版本的 Python 时搜索了丢失的文件,但它根本不存在。 Atari-py 仅受 Python 3.7 (https://github.com/openai/atari-py) 支持,因此更高版本的版本不起作用。从未经许可的地方下载文件是个坏主意,因此我建议您安装支持的 Python 版本(3.5、3.6 和 3.7)。尽管 gym 可以在 3.9 上运行,但 atari 版本不会。我不需要安装任何其他东西(虽然我可能有 Microsoft Visual C++ 构建工具,但我不需要 Xming),只需导入 gym 0.18.0、pyglet 1.5.0、atari -py 0.2.6
代码:
import gym
env = gym.make('Breakout-v0')
我收到一个错误:
Traceback (most recent call last):
File "C:/Users/danie/Downloads/Programming/Python/Programming/Pycharm/app.py", line 40, in
gym.make("Breakout-v0")
File "C:\Users\danie\AppData\Local\Programs\Python\Python37\lib\site-packages\gym\envs\registration.py", line 156, in make
return registry.make(id, **kwargs)
File "C:\Users\danie\AppData\Local\Programs\Python\Python37\lib\site-packages\gym\envs\registration.py", line 101, in make
env = spec.make(**kwargs)
File "C:\Users\danie\AppData\Local\Programs\Python\Python37\lib\site-packages\gym\envs\registration.py", line 72, in make
cls = load(self.entry_point)
File "C:\Users\danie\AppData\Local\Programs\Python\Python37\lib\site-packages\gym\envs\registration.py", line 17, in load
mod = importlib.import_module(mod_name)
File "C:\Users\danie\AppData\Local\Programs\Python\Python37\lib\importlib_init.py", line 127, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "", line 1006, in _gcd_import
File "", line 983, in _find_and_load
File "", line 967, in find_and_load_unlocked
File "", line 677, in load_unlocked
File "", line 728, in exec_module
File "", line 219, in call_with_frames_removed
File "C:\Users\danie\AppData\Local\Programs\Python\Python37\lib\site-packages\gym\envs\atari_init.py", line 1, in
from gym.envs.atari.atari_env import AtariEnv
File "C:\Users\danie\AppData\Local\Programs\Python\Python37\lib\site-packages\gym\envs\atari\atari_env.py", line 9, in
import atari_py
File "C:\Users\danie\AppData\Local\Programs\Python\Python37\lib\site-packages\atari_py_init.py", line 1, in
from .ale_python_interface import *
File "C:\Users\danie\AppData\Local\Programs\Python\Python37\lib\site-packages\atari_py\ale_python_interface.py", line 18, in
'ale_interface/build/ale_c.dll'))
File "C:\Users\danie\AppData\Local\Programs\Python\Python37\lib\ctypes_init.py", line 434, in LoadLibrary
return self.dlltype(name)
File "C:\Users\danie\AppData\Local\Programs\Python\Python37\lib\ctypes_init.py", line 356, in init
self._handle = _dlopen(self._name, mode)
OSError: [WinError 126] The specified module could not be found
欢迎来到 SO。如果跟踪异常跟踪,您会看到在别名为 dlopen 的 ctypes init.py 文件中调用了一个共享对象加载函数。在 Windows 上,这对应于 WINAPI 的 LoadLibrary 方法。 LoadLibrary 正在尝试加载 ale_c.dll。 ALE 是 'arcade learning environment'。
在您的计算机中搜索 ale_c.dll
或 libale_c.dll
如果您有 ale_c.dll
(很可能您在 Windows 上),请参阅此 answer 以了解使用 ctypes 加载的 DLL 基本上是我提到的 LoadLibrary 调用。它提到了所有关于 DLL 加载顺序等的内容。但是,如果您需要快速解决这个问题,请将您的 dll 复制到 system32 文件夹下。
我在使用 Atari-Pacman 时遇到了类似的问题。下载64位Python 3.7的atari_py-1.2.1-cp37-cp37m-win_amd64,使用pip安装即可解决。
在以下网站的帮助下,我终于能够解决这个问题:https://towardsdatascience.com/how-to-install-openai-gym-in-a-windows-environment-338969e24d30。
基本上我必须做 3 件事:1) 安装 Microsoft Visual C++ Build Tools,2) 安装这个特定版本的 Atari https://github.com/Kojoley/atari-py.git,3) 安装 Xming。祝所有 Windows 用户好运 :) 我花了大约 3 天的时间才弄明白。
我试图让它在 Windows 10 上与 python 3.8 和 3.9 一起工作。安装 Python 3.7 并将其用作 Python 解释器 PyCharm 解决了这个问题。我在拥有 3.8 + 版本的 Python 时搜索了丢失的文件,但它根本不存在。 Atari-py 仅受 Python 3.7 (https://github.com/openai/atari-py) 支持,因此更高版本的版本不起作用。从未经许可的地方下载文件是个坏主意,因此我建议您安装支持的 Python 版本(3.5、3.6 和 3.7)。尽管 gym 可以在 3.9 上运行,但 atari 版本不会。我不需要安装任何其他东西(虽然我可能有 Microsoft Visual C++ 构建工具,但我不需要 Xming),只需导入 gym 0.18.0、pyglet 1.5.0、atari -py 0.2.6