安装后出现“没有名为'atari_py'的模块”错误

4

我目前正在尝试使用gym/openai的Atari模块。我已经成功安装了依赖项。

Patricks-MacBook-Pro:~ patrickmaynard$ python3.6 -m pip install gym[atari]
Requirement already satisfied: gym[atari] in /usr/local/lib/python3.6/site-packages (0.10.5)
Requirement already satisfied: six in /usr/local/lib/python3.6/site-packages (from gym[atari]) (1.11.0)
Requirement already satisfied: pyglet>=1.2.0 in /usr/local/lib/python3.6/site-packages (from gym[atari]) (1.3.2)
Requirement already satisfied: requests>=2.0 in /usr/local/lib/python3.6/site-packages (from gym[atari]) (2.18.4)
Requirement already satisfied: numpy>=1.10.4 in /usr/local/lib/python3.6/site-packages (from gym[atari]) (1.14.3)
Requirement already satisfied: Pillow; extra == "atari" in /usr/local/lib/python3.6/site-packages (from gym[atari]) (5.1.0)
Requirement already satisfied: PyOpenGL; extra == "atari" in /usr/local/lib/python3.6/site-packages (from gym[atari]) (3.1.0)
Requirement already satisfied: atari-py>=0.1.1; extra == "atari" in /usr/local/lib/python3.6/site-packages (from gym[atari]) (0.1.1)
Requirement already satisfied: future in /usr/local/lib/python3.6/site-packages (from pyglet>=1.2.0->gym[atari]) (0.16.0)
Requirement already satisfied: certifi>=2017.4.17 in /usr/local/lib/python3.6/site-packages (from requests>=2.0->gym[atari]) (2018.4.16)
Requirement already satisfied: urllib3<1.23,>=1.21.1 in /usr/local/lib/python3.6/site-packages (from requests>=2.0->gym[atari]) (1.22)
Requirement already satisfied: chardet<3.1.0,>=3.0.2 in /usr/local/lib/python3.6/site-packages (from requests>=2.0->gym[atari]) (3.0.4)
Requirement already satisfied: idna<2.7,>=2.5 in /usr/local/lib/python3.6/site-packages (from requests>=2.0->gym[atari]) (2.6)

然而,当我尝试运行该文件时,编译器无法找到该模块,我会收到以下错误信息:
Traceback (most recent call last):
  File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/gym/envs/atari/atari_env.py", line 9, in <module>
    import atari_py
ModuleNotFoundError: No module named 'atari_py'

在处理以上异常时,又发生了另一个异常:
Traceback (most recent call last):
  File "/Users/patrickmaynard/TicTacToe/recipe-578816-1.py", line 170, in <module>
    env = gym.make('Pong-v0')
  File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/gym/envs/registration.py", line 167, in make
    return registry.make(id)
  File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/gym/envs/registration.py", line 119, in make
    env = spec.make()
  File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/gym/envs/registration.py", line 85, in make
    cls = load(self._entry_point)
  File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/gym/envs/registration.py", line 14, in load
    result = entry_point.load(False)
  File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/pkg_resources/__init__.py", line 2291, in load
    return self.resolve()
  File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/pkg_resources/__init__.py", line 2297, in resolve
    module = __import__(self.module_name, fromlist=['__name__'], level=0)
  File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/gym/envs/atari/__init__.py", line 1, in <module>
    from gym.envs.atari.atari_env import AtariEnv
  File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/gym/envs/atari/atari_env.py", line 11, in <module>
    raise error.DependencyNotInstalled("{}. (HINT: you can install Atari dependencies by running 'pip install gym[atari]'.)".format(e))
gym.error.DependencyNotInstalled: No module named 'atari_py'. (HINT: you can install Atari dependencies by running 'pip install gym[atari]'.)

已经安装了gym和cmake。

3个回答

5

我认为你可能是在pip上安装了Atari,你可以尝试使用pip3进行安装。在Python2中的importlib似乎不兼容。

pip3 install atari-py

对我来说这很有效 :)


0

在PyCharm IDE中检查atari_py的版本,因为有些版本已经被描述为不再工作或缺少一个文件(ale_c.dll)。 我安装atari_py和gym时遇到了问题,必须选择正确版本才能使其正常工作。 atari_py可以运行的最高Python版本是3.7(Python 3.7),至于atari_py,我正在使用0.2.6版本,因为我无法在更高的版本上使其正常工作。 Gym导入atari_py(atari-py),但正如我之前所说,它已被描述为已过时,因此最新版本的Gym 0.21.0(0.20.0及更高版本)使用ale-py,它的工作方式略有不同,因为它建议您不要使用env.render(),而游戏是v5版(低于v5的所有版本都来自atari_py)。不幸的是,我无法在单个游戏上正确地使用Gym 0.21.0和ale-py,因为我找到的唯一一个游戏示例是:

import gym

env = gym.make('ALE/Breakout-v5',
    obs_type='rgb',                   # ram | rgb | grayscale
    frameskip=5,                     # frame skip
    mode=0,                           # game mode, see Machado et al. 2018
    difficulty=0,                     # game difficulty, see Machado et al. 2018
    repeat_action_probability=0.25,   # Sticky action probability
    full_action_space=True,           # Use all actions
    render_mode=None                  # None | human | rgb_array
)
  • https://brosa.ca/blog/ale-release-v0.7下载的游戏无法正常运行(即在渲染游戏时,球不在那里,什么也没有发生-在较低版本的游戏中看到了相同的问题,什么也没有发生。)enter image description here

-1
'

atari_py'在我的PyCharm IDE中无法工作。请尝试另一个IDE或在终端/命令行中运行该文件。

'

你能解释一下吗?我也无法使它工作 :( - Raksha
尝试在终端之类的 IDE 之外运行。 - Patrick Maynard

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接