簡體   English   中英

Gym's box 2d (openAI) 安裝不成功(pip 錯誤)

[英]Gym's box 2d (openAI) doesn't install successfully (pip error)

我正在嘗試使用 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: 模塊 'gym.envs.box2d' 沒有屬性 'CarRacing'

然后我嘗試通過 pip install box2d-py 安裝 box2d 並拋出此錯誤:

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.

我必須做什么才能成功安裝它?

Windows 支持目前處於實驗階段(來源)。 話雖如此,在大多數情況下,您可以讓它工作,但某些功能可能會被破壞。 謹慎行事。

以下是可行的方法:

  1. 安裝蟒蛇
  2. 啟動 Anaconda 命令行(它將conda添加到 PATH)。
  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 Built Tools

根據您使用的組件,您可能需要例如pystan 然后激活 conda 環境並安裝它,即conda install pystan

另一種方法是嘗試通過 conda 直接安裝 Gym:

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

這將從powerai頻道安裝gym 可能有用,但請注意,它不是最新的,也似乎不受開發人員的支持。

在此處輸入圖像描述

我只需在gym[box2d]之前安裝swig就可以對其進行排序,不需要anaconda

pip3 install swig

就我而言,我使用conda安裝 Gym 的 Box2D:

conda install swig
conda install -c conda-forge gym-box2d

並擺脫了這個錯誤。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM