0

I am currently started studying reinforcement learning and facing this package installation issue. I have tried many solutions from the internet, yet nothing solved the error.

C:/user/name>pip install Box2D
Collecting Box2D
  Downloading Box2D-2.3.2.tar.gz (427 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 427.9/427.9 kB 2.4 MB/s eta 0:00:00
  Preparing metadata (setup.py) ... done
Building wheels for collected packages: Box2D
  Building wheel for Box2D (setup.py) ... error
  error: subprocess-exited-with-error

  × python setup.py bdist_wheel did not run successfully.
  │ exit code: 1
  ╰─> [40 lines of output]
      Using setuptools (version 68.0.0).
      running bdist_wheel
      running build
      running build_py
      creating build
      creating build\lib.win-amd64-cpython-311
      creating build\lib.win-amd64-cpython-311\Box2D
      copying library\Box2D\Box2D.py -> build\lib.win-amd64-cpython-311\Box2D
      copying library\Box2D\__init__.py -> build\lib.win-amd64-cpython-311\Box2D
      creating build\lib.win-amd64-cpython-311\Box2D\b2
      copying library\Box2D\b2\__init__.py -> build\lib.win-amd64-cpython-311\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
      Box2D\Common\b2Math.h(67) : Warning 302: Identifier 'b2Vec2' redefined by %extend (ignored),
      Box2D\Box2D_math.i(47) : Warning 302: %extend definition of 'b2Vec2'.
      Box2D\Common\b2Math.h(158) : Warning 302: Identifier 'b2Vec3' redefined by %extend (ignored),
      Box2D\Box2D_math.i(168) : Warning 302: %extend definition of 'b2Vec3'.
      Box2D\Common\b2Math.h(197) : Warning 302: Identifier 'b2Mat22' redefined by %extend (ignored),
      Box2D\Box2D_math.i(301) : Warning 302: %extend definition of 'b2Mat22'.
      Box2D\Common\b2Math.h(271) : Warning 302: Identifier 'b2Mat33' redefined by %extend (ignored),
      Box2D\Box2D_math.i(372) : Warning 302: %extend definition of 'b2Mat33'.
      Box2D\Collision\b2DynamicTree.h(44) : Warning 312: Nested union not currently supported (ignored).
      Box2D\Common\b2Settings.h(144) : Warning 506: Can't wrap varargs with keyword arguments enabled
      Box2D\Common\b2Math.h(91) : Warning 509: Overloaded method b2Vec2::operator ()(int32) effectively ignored,
      Box2D\Common\b2Math.h(85) : Warning 509: as it is shadowed by b2Vec2::operator ()(int32) const.
      creating build\temp.win-amd64-cpython-311
      creating build\temp.win-amd64-cpython-311\Release
      creating build\temp.win-amd64-cpython-311\Release\Box2D
      creating build\temp.win-amd64-cpython-311\Release\Box2D\Collision
      creating build\temp.win-amd64-cpython-311\Release\Box2D\Collision\Shapes
      creating build\temp.win-amd64-cpython-311\Release\Box2D\Common
      creating build\temp.win-amd64-cpython-311\Release\Box2D\Dynamics
      creating build\temp.win-amd64-cpython-311\Release\Box2D\Dynamics\Contacts
      creating build\temp.win-amd64-cpython-311\Release\Box2D\Dynamics\Joints
      "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\BIN\x86_amd64\cl.exe" /c /nologo /O2 /W3 /GL /DNDEBUG /MD -IC:\Users\sarav\AppData\Local\Programs\Python\Python311\include -IC:\Users\sarav\AppData\Local\Programs\Python\Python311\Include "-IC:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\INCLUDE" "-IC:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\ATLMFC\INCLUDE" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.10240.0\ucrt" /EHsc /TpBox2D\Box2D_wrap.cpp /Fobuild\temp.win-amd64-cpython-311\Release\Box2D\Box2D_wrap.obj -I.
      Box2D_wrap.cpp
      c:\users\sarav\appdata\local\programs\python\python311\include\pyconfig.h(207): fatal error C1083: Cannot open include file: 'basetsd.h': No such file or directory
      error: command 'C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\VC\\BIN\\x86_amd64\\cl.exe' failed with exit code 2
      [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
  ERROR: Failed building wheel for Box2D
  Running setup.py clean for Box2D
Failed to build Box2D
ERROR: Could not build wheels for Box2D, which is required to install pyproject.toml-based projects

At first it said that I need microsoft c++ visual build tools 14.0 or greater and i installed it. Now trying the commands like "pip install gymnasium" is working. But when trying "pip install Box2D" is giving issues. Can anyone guide me through this situation.....?

  • Have you looked at https://github.com/jonasschneider/box2d-py/blob/master/INSTALL.md#building-from-source-windows ? Because you covered step 1 by installing VC++, but there are more steps. (even though you're not cloning the project, you _are_ building it from source, so you'll want the prerequisites met) – Mike 'Pomax' Kamermans Jul 13 '23 at 03:19
  • 1
    Is the file `basetsd.h` present somewhere on your system? – FlyingTeller Jul 13 '23 at 05:24
  • there is no basetsd.h in my system. And i also tried the github solution, still facing same issue – saravanapriyan Jul 13 '23 at 16:46

0 Answers0