Entra e sai dos ambientes dos módulos?

0

Peço desculpas por ser um noob linux completo! Eu também fiz essa pergunta aqui , mas achei melhor movê-la para um local dedicado Fórum do Ubuntu:

Estou tentando usar a academia OpenAI no Ubuntu. Depois que eu fiz a instalação pela primeira vez, minha linha de comando no terminal passou de parecida com

user@localhost:~$

para

(gym) user@localhost:~$

e eu poderia executar arquivos como

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

que exigem o módulo de ginástica.

Agora, quando eu inicio o terminal novamente, ele inicia no estado user@localhost:~$ e, quando tento executar um script, ele não reconhece o módulo gym dizendo que ModuleNotFoundError: No module named 'gym' . Eu suspeito que eu preciso emitir algum comando para obter o terminal de volta para o

(gym) user@localhost:~$

declare antes de usar a academia nos meus scripts. Qual comando devo usar para entrar em tal estado de módulo?

PS:

Até agora eu tentei adicionar

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

para .bashrc e chamando source ~/.bashrc , o que infelizmente não resolveu o problema.

EDITAR:

Neste ponto, descobri que tenho que fazer export GYM_PATH="/home/user/gym:$GYM_PATH" , mas depois recebi um erro de que algumas dependências do ambiente estavam ausentes.

Então eu executei o comando de instalação novamente pip install -e '.[all]' e ele realmente instalou alguns componentes (não sei porque eles não estiveram lá após a primeira instalação).

Se eu tentar executar o script agora, ainda recebo o erro:

[2018-01-03 11:43:39,443] Making new env: BreakoutDeterministic-v4

Traceback (most recent call last):

File "envi.py", line 11, in env.render()

...

...

...

File "/home/UNIXuser/anaconda3/lib/python3.6/site- packages/pyglet/canvas/init.py", line 82, in get_display return Display()

File "/home/UNIXuser/anaconda3/lib/python3.6/site-packages/pyglet/canvas/xlib.py", line 86, in init raise NoSuchDisplayException('Cannot connect to "%s"' % name) pyglet.canvas.xlib.NoSuchDisplayException: Cannot connect to "None"

Peço desculpas, isso está rapidamente se metendo na solução de problemas do próprio ginásio e não do Ubuntu. Eu ficarei muito grato se você tiver alguma sugestão neste momento, mas provavelmente eu deveria perguntar ao pessoal de academia sobre isso ...

    
por Kagaratsch 03.01.2018 / 16:44

1 resposta

1

O problema com a importação do módulo de ginásio foi principalmente na escolha do diretório de instalação correto.

Como a instalação é realizada como

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

o próprio módulo não está localizado em ~/gym , mas, na verdade, em ~/gym/gym . Então, para fornecer um caminho para uma pasta contendo a pasta gym do módulo, temos que usar:

/home/user/gym

não /home/user .

EDITAR:

Como alternativa, pode-se fazer

source activate gym

para colocar o terminal no

(gym) user@localhost:~$

state, que procurará automaticamente todas as dependências no lugar correto quando você executar seus scripts posteriormente.

    
por Kagaratsch 03.01.2018 / 18:02