首页 > 解决方案 > 完全被 PyCharm 环境弄糊涂了

问题描述

我设法在 PyCharm 项目中安装了 OpenAI gym Atari 环境。(经过如此多的试验和错误,我不再知道是什么最终让它起作用了。但现在它确实起作用了。)

我复制了项目目录,从副本创建了另一个项目,并尝试运行之前运行的相同程序——实际上是我复制目录时创建的程序的副本。现在我收到一条错误消息,指出未安装 Atari 环境 - 或未正确安装。

Traceback (most recent call last):
  File "C:\Users\rabbott\AppData\Local\Programs\Python\Python37\lib\site-packages\gym\envs\atari\atari_env.py", line 9, in <module>
    import atari_py
ModuleNotFoundError: No module named 'atari_py'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "C:/Users/rabbott/Google Drive/CSULA/ECST/CS Dept/CS 4660/2018/OpenAI_Models/Q-Learning-Framework - Copy/Interactive_Atari-2018-10-27-2230.py", line 416, in <module>
    GameControl(Bot()).play('Pong-v0')
  File "C:/Users/rabbott/Google Drive/CSULA/ECST/CS Dept/CS 4660/2018/OpenAI_Models/Q-Learning-Framework - Copy/Interactive_Atari-2018-10-27-2230.py", line 30, in play
    env = gym.make(game)
  File "C:\Users\rabbott\AppData\Local\Programs\Python\Python37\lib\site-packages\gym\envs\registration.py", line 167, in make
    return registry.make(id)
  File "C:\Users\rabbott\AppData\Local\Programs\Python\Python37\lib\site-packages\gym\envs\registration.py", line 119, in make
    env = spec.make()
  File "C:\Users\rabbott\AppData\Local\Programs\Python\Python37\lib\site-packages\gym\envs\registration.py", line 85, in make
cls = load(self._entry_point)
  File "C:\Users\rabbott\AppData\Local\Programs\Python\Python37\lib\site-packages\gym\envs\registration.py", line 14, in load
    result = entry_point.load(False)
  File "C:\Users\rabbott\AppData\Local\Programs\Python\Python37\lib\site-packages\pkg_resources\__init__.py", line 2324, in load
    return self.resolve()
  File "C:\Users\rabbott\AppData\Local\Programs\Python\Python37\lib\site-packages\pkg_resources\__init__.py", line 2330, in resolve
    module = __import__(self.module_name, fromlist=['__name__'], level=0)
  File "C:\Users\rabbott\AppData\Local\Programs\Python\Python37\lib\site-packages\gym\envs\atari\__init__.py", line 1, in <module>
    from gym.envs.atari.atari_env import AtariEnv
  File "C:\Users\rabbott\AppData\Local\Programs\Python\Python37\lib\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]'.)

Process finished with exit code 1

当我尝试再次安装它时,我遇到了与最初相同的问题。特别是,我不知道怎样才能正确安装 Atari 环境。

是否有一些相对简单直接的方法来使用已经在项目副本中运行的安装?

谢谢。

标签: python-3.xpycharmopenai-gym

解决方案


安装健身房和工作没有任何问题的最安全方法是使用 python 虚拟环境。为您的健身房项目拥有一个单独的虚拟环境总是更好。请使用condapipenv创建虚拟环境。

pipenv 中的示例

安装管道

pip install --user pipenv 

进入您的项目目录(您的 .py 文件所在的位置)

cd myproject

安装健身房

pipenv install gym

在您的虚拟环境中安装 atari 和任何其他依赖项,如下所示。

pipenv install atari-py

运行你的代码

pipenv run python main.py

这将确保您的代码正常工作。

笔记

Pipenv为每个项目创建不同的虚拟环境。如果您想为多个项目使用相同的环境,请使用conda中的虚拟环境,如上所述。


推荐阅读