Gym's box 2d (openAI) не устанавливается успешно (ошибка в pip) - PullRequest
2 голосов
/ 17 февраля 2020

Я пытаюсь сделать следующий код с OpenAI:

import gym
env = gym.make('CarRacing-v0')
env.reset() 

for _ in range(1000):
 env.render()
 env.step(env.action_space.sample())

, но выдает ошибку:

fn = getattr (mod, attr_name) AttributeError: module 'gym.envs.box2d' не имеет атрибута 'CarRacing'

И затем я пытаюсь установить box2d путем установки pip box2d-py, выдав эту ошибку:

ERROR: Command errored out with exit status 1:
     command: 'C:\Users\Junior\Anaconda\envs\gym\python.exe' -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\\Users\\Junior\\AppData\\Local\\Temp\\pip-install-w8awn22p\\box2d-py\\setup.py'"'"'; __file__='"'"'C:\\Users\\Junior\\AppData\\Local\\Temp\\pip-install-w8awn22p\\box2d-py\\setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record 'C:\Users\Junior\AppData\Local\Temp\pip-record-netg1nlq\install-record.txt' --single-version-externally-managed --compile --install-headers 'C:\Users\Junior\Anaconda\envs\gym\Include\box2d-py'
         cwd: C:\Users\Junior\AppData\Local\Temp\pip-install-w8awn22p\box2d-py\
    Complete output (16 lines):
    Using setuptools (version 45.2.0.post20200210).
    running install
    running build
    running build_py
    creating build
    creating build\lib.win-amd64-3.7
    creating build\lib.win-amd64-3.7\Box2D
    copying library\Box2D\Box2D.py -> build\lib.win-amd64-3.7\Box2D
    copying library\Box2D\__init__.py -> build\lib.win-amd64-3.7\Box2D
    creating build\lib.win-amd64-3.7\Box2D\b2
    copying library\Box2D\b2\__init__.py -> build\lib.win-amd64-3.7\Box2D\b2
    running build_ext
    building 'Box2D._Box2D' extension
    swigging Box2D\Box2D.i to Box2D\Box2D_wrap.cpp
    swig.exe -python -c++ -IBox2D -small -O -includeall -ignoremissing -w201 -globals b2Globals -outdir library\Box2D -keyword -w511 -D_SWIG_KWARGS -o Box2D\Box2D_wrap.cpp Box2D\Box2D.i
    error: command 'swig.exe' failed: No such file or directory
    ----------------------------------------
ERROR: Command errored out with exit status 1: 'C:\Users\Junior\Anaconda\envs\gym\python.exe' -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\\Users\\Junior\\AppData\\Local\\Temp\\pip-install-w8awn22p\\box2d-py\\setup.py'"'"'; __file__='"'"'C:\\Users\\Junior\\AppData\\Local\\Temp\\pip-install-w8awn22p\\box2d-py\\setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record 'C:\Users\Junior\AppData\Local\Temp\pip-record-netg1nlq\install-record.txt' --single-version-externally-managed --compile --install-headers 'C:\Users\Junior\Anaconda\envs\gym\Include\box2d-py' Check the logs for full command output.

что я нужно сделать, чтобы установить его успешно?

1 Ответ

1 голос
/ 18 февраля 2020
Поддержка

Windows в настоящее время является экспериментальной ( источник ). При этом в большинстве случаев вы заставляете его работать, но некоторые функции могут быть нарушены. Действуйте с осторожностью.

Вот что может работать:

  1. Установить Anaconda .
  2. Запустить командную строку Anaconda (она добавляет conda к ПУТЬ).
  3. conda create -c conda-forge -n gymenv swig pip - создать базовую среду.
  4. conda activate gymenv - активировать ее.
  5. pip install Box2D gym - установить базовый тренажерный зал с Box2D.
  6. (Необязательно) pip install gym[all] - установить все компоненты Gym. Вы можете столкнуться с ошибками.

Если вы получаете ошибки сборки на отсутствующих компиляторах, установите Встроенные средства Visual Studio .

В зависимости от используемого компонента Вам может понадобиться, например, pystan. Затем активируйте среду conda и установите ее, то есть conda install pystan.

Альтернативой может быть попытка установить Gym напрямую через conda:

conda create -c conda-forge -c powerai -n gymenv gym swig pip pystan

Это установит gym из канал Powerai . Может работать , но имейте в виду, что он не самый последний и не поддерживается разработчиками.

...