首页 > 解决方案 > 在 python3.8 中为 openai gym 安装依赖项时出错

问题描述

我正在尝试在 python3.8.10 中安装健身房。健身房安装成功,但我不能使用它需要几个依赖项。我跑去sudo pip install gym[all]安装健身房所需的依赖项,它抛出了我不明白的错误。

Building wheels for collected packages: box2d-py, mujoco-py
  Building wheel for box2d-py (setup.py) ... error
  ERROR: Command errored out with exit status 1:
   command: /usr/bin/python -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-8zlg9dw8/box2d-py/setup.py'"'"'; __file__='"'"'/tmp/pip-install-8zlg9dw8/box2d-py/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' bdist_wheel -d /tmp/pip-wheel-4z4tdgw2
       cwd: /tmp/pip-install-8zlg9dw8/box2d-py/
  Complete output (17 lines):
  Using setuptools (version 45.2.0).
  running bdist_wheel
  running build
  running build_py
  creating build
  creating build/lib.linux-x86_64-3.8
  creating build/lib.linux-x86_64-3.8/Box2D
  copying library/Box2D/Box2D.py -> build/lib.linux-x86_64-3.8/Box2D
  copying library/Box2D/__init__.py -> build/lib.linux-x86_64-3.8/Box2D
  creating build/lib.linux-x86_64-3.8/Box2D/b2
  copying library/Box2D/b2/__init__.py -> build/lib.linux-x86_64-3.8/Box2D/b2
  running build_ext
  building 'Box2D._Box2D' extension
  swigging Box2D/Box2D.i to Box2D/Box2D_wrap.cpp
  swig -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
  unable to execute 'swig': No such file or directory
  error: command 'swig' failed with exit status 1
  ----------------------------------------
  ERROR: Failed building wheel for box2d-py
  Running setup.py clean for box2d-py
  Building wheel for mujoco-py (setup.py) ... error
  ERROR: Command errored out with exit status 1:
   command: /usr/bin/python -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-8zlg9dw8/mujoco-py/setup.py'"'"'; __file__='"'"'/tmp/pip-install-8zlg9dw8/mujoco-py/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' bdist_wheel -d /tmp/pip-wheel-anrwwl47
       cwd: /tmp/pip-install-8zlg9dw8/mujoco-py/
  Complete output (27 lines):
  running bdist_wheel
  running build
  Traceback (most recent call last):
    File "<string>", line 1, in <module>
    File "/tmp/pip-install-8zlg9dw8/mujoco-py/setup.py", line 32, in <module>
      setup(
    File "/usr/lib/python3/dist-packages/setuptools/__init__.py", line 144, in setup
      return distutils.core.setup(**attrs)
    File "/usr/lib/python3.8/distutils/core.py", line 148, in setup
      dist.run_commands()
    File "/usr/lib/python3.8/distutils/dist.py", line 966, in run_commands
      self.run_command(cmd)
    File "/usr/lib/python3.8/distutils/dist.py", line 985, in run_command
      cmd_obj.run()
    File "/usr/lib/python3/dist-packages/wheel/bdist_wheel.py", line 223, in run
      self.run_command('build')
    File "/usr/lib/python3.8/distutils/cmd.py", line 313, in run_command
      self.distribution.run_command(command)
    File "/usr/lib/python3.8/distutils/dist.py", line 985, in run_command
      cmd_obj.run()
    File "/tmp/pip-install-8zlg9dw8/mujoco-py/setup.py", line 28, in run
      import mujoco_py  # noqa: force build
    File "/tmp/pip-install-8zlg9dw8/mujoco-py/mujoco_py/__init__.py", line 3, in <module>
      from mujoco_py.builder import cymj, ignore_mujoco_warnings, functions, MujocoException
    File "/tmp/pip-install-8zlg9dw8/mujoco-py/mujoco_py/builder.py", line 16, in <module>
      from cffi import FFI
  ModuleNotFoundError: No module named 'cffi'
  ----------------------------------------
  ERROR: Failed building wheel for mujoco-py
  Running setup.py clean for mujoco-py
Failed to build box2d-py mujoco-py
Installing collected packages: opencv-python, box2d-py, pyglet, zipp, importlib-resources, ale-py, pycparser, cffi, glfw, imageio, mujoco-py, lz4
    Running setup.py install for box2d-py ... error
    ERROR: Command errored out with exit status 1:
     command: /usr/bin/python -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-8zlg9dw8/box2d-py/setup.py'"'"'; __file__='"'"'/tmp/pip-install-8zlg9dw8/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 /tmp/pip-record-oafevxzn/install-record.txt --single-version-externally-managed --compile --install-headers /usr/local/include/python3.8/box2d-py
         cwd: /tmp/pip-install-8zlg9dw8/box2d-py/
    Complete output (17 lines):
    Using setuptools (version 45.2.0).
    running install
    running build
    running build_py
    creating build
    creating build/lib.linux-x86_64-3.8
    creating build/lib.linux-x86_64-3.8/Box2D
    copying library/Box2D/Box2D.py -> build/lib.linux-x86_64-3.8/Box2D
    copying library/Box2D/__init__.py -> build/lib.linux-x86_64-3.8/Box2D
    creating build/lib.linux-x86_64-3.8/Box2D/b2
    copying library/Box2D/b2/__init__.py -> build/lib.linux-x86_64-3.8/Box2D/b2
    running build_ext
    building 'Box2D._Box2D' extension
    swigging Box2D/Box2D.i to Box2D/Box2D_wrap.cpp
    swig -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
    unable to execute 'swig': No such file or directory
    error: command 'swig' failed with exit status 1
    ----------------------------------------
ERROR: Command errored out with exit status 1: /usr/bin/python -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-8zlg9dw8/box2d-py/setup.py'"'"'; __file__='"'"'/tmp/pip-install-8zlg9dw8/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 /tmp/pip-record-oafevxzn/install-record.txt --single-version-externally-managed --compile --install-headers /usr/local/include/python3.8/box2d-py Check the logs for full command output.

这个问题的根本原因可能是什么?我应该一一安装依赖项以防止这种情况发生吗?

标签: python-3.xopenai-gym

解决方案


推荐阅读