python-3.x - 完全被 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 虚拟环境。为您的健身房项目拥有一个单独的虚拟环境总是更好。请使用conda或pipenv创建虚拟环境。
pipenv 中的示例
安装管道
pip install --user pipenv
进入您的项目目录(您的 .py 文件所在的位置)
cd myproject
安装健身房
pipenv install gym
在您的虚拟环境中安装 atari 和任何其他依赖项,如下所示。
pipenv install atari-py
运行你的代码
pipenv run python main.py
这将确保您的代码正常工作。
笔记
Pipenv为每个项目创建不同的虚拟环境。如果您想为多个项目使用相同的环境,请使用conda中的虚拟环境,如上所述。
推荐阅读
- java - 从包含 vs 代码注释的 xml 文件中删除块
- c++ - 函数/结构/类级别是否有 C++ 依赖管理器?
- c++ - GPU 渲染后如何访问 MTLBuffer 的内容?
- java - spring kafka:从有效负载中过滤KafkaNull值
- android - Android Pie:如何以编程方式打开一个空的 doc 文件?
- python - Python烧瓶在初始化时将信息加载到路由处理程序中?
- python - 用硒刮擦。错误:“元素未附加到页面文档”
- angular - 使用自定义角度库的 Intellij 打字稿 - 不断需要重新启动打字稿服务以进行语法/突出显示检查
- r - 在 R 中使用带有 ggplot 的 geom_line 时的锯齿形
- spring-cloud-stream - 可以在外部配置属性值更改时更改目标主题名称