进入和退出模块环境?

进入和退出模块环境?

我很抱歉,因为我是一个彻头彻尾的 Linux 菜鸟!我也问过这个问题这里,但我认为我最好将其移至专门的 Ubuntu 论坛:

我正在尝试使用OpenAI 健身房在 Ubuntu 中。在我第一次安装后,终端中的命令行从看起来像

user@localhost:~$

(gym) user@localhost:~$

我可以执行如下文件

(gym) user@localhost:/mnt/e/MyOpenAIstuff$ python script.py

这需要健身模块。

现在,当我再次启动终端时,它处于 状态user@localhost:~$,当我尝试运行脚本时,它无法识别gym模块,并提示ModuleNotFoundError: No module named 'gym'。我怀疑我需要发出一些命令让终端重新进入

(gym) user@localhost:~$

在我的脚本中使用 gym 之前的状态。我应该使用什么命令来进入这样的模块状态?

附言:

到目前为止我尝试添加

export GYM_PATH="/home/user/gym/bin:$GYM_PATH"

.bashrc致电source ~/.bashrc,但不幸的是,这并没有解决问题。

编辑:

此时我发现我必须这样做export GYM_PATH="/home/user/gym:$GYM_PATH",但随后我收到一个错误,提示缺少某些环境依赖项。

然后我再次运行安装命令pip install -e '.[all]',它实际上安装了一些组件(不知道为什么第一次安装后它们不存在)。

如果我现在尝试运行该脚本,仍然会出现错误:

[2018-01-03 11:43:39,443] 创建新环境:BreakoutDeterministic-v4

回溯(最近一次调用最后一次):

文件“envi.py”,第 11 行,在 env.render() 中

...

...

...

文件“/home/UNIXuser/anaconda3/lib/python3.6/site-packages/pyglet/canvas/在里面.py”, 第 82 行, 在 get_display 返回 Display()

文件“/home/UNIXuser/anaconda3/lib/python3.6/site-packages/pyglet/canvas/xlib.py”,第 86 行,位于在里面 引发 NoSuchDisplayException('无法连接到“%s”'%名称)pyglet.canvas.xlib.NoSuchDisplayException:无法连接到“None”

抱歉,这很快就会进入健身房本身的故障排除,而不是 Ubuntu。如果您此时有任何建议,我将不胜感激,但也许我现在应该向健身房的人询问此事……

答案1

导入 gym 模块的问题主要在于选择正确的安装目录。

由于安装方式如下

git clone https://github.com/openai/gym
cd gym
pip install -e '.[all]'

模块本身并不位于 中,~/gym而是实际上位于 中~/gym/gym。因此,要提供包含模块文件夹的文件夹路径,gym我们必须使用:

/home/user/gym

不是/home/user

编辑:

另外,也可以这样做

source activate gym

让终端进入

(gym) user@localhost:~$

state,它将在您随后运行脚本时自动在正确的位置搜索所有依赖项。

相关内容