Kautenja / nes-py

A Python3 NES emulator and OpenAI Gym interface
MIT License
235 stars 63 forks source link

Not working with Python311 #98

Closed ManPython closed 6 months ago

ManPython commented 6 months ago

Describe the bug

pip install nes-py
Collecting nes-py
  Using cached nes_py-8.2.1.tar.gz (77 kB)
  Preparing metadata (setup.py) ... done
Collecting gym>=0.17.2 (from nes-py)
  Using cached gym-0.26.2-py3-none-any.whl
Requirement already satisfied: numpy>=1.18.5 in e:\python311-venv\lib\site-packages (from nes-py) (1.25.0)
Collecting pyglet<=1.5.21,>=1.4.0 (from nes-py)
  Using cached pyglet-1.5.21-py3-none-any.whl.metadata (7.6 kB)
Requirement already satisfied: tqdm>=4.48.2 in e:\python311-venv\lib\site-packages (from nes-py) (4.66.1)
Collecting cloudpickle>=1.2.0 (from gym>=0.17.2->nes-py)
  Using cached cloudpickle-3.0.0-py3-none-any.whl.metadata (7.0 kB)
Collecting gym-notices>=0.0.4 (from gym>=0.17.2->nes-py)
  Using cached gym_notices-0.0.8-py3-none-any.whl.metadata (1.0 kB)
Requirement already satisfied: colorama in e:\python311-venv\lib\site-packages (from tqdm>=4.48.2->nes-py) (0.4.6)
Using cached pyglet-1.5.21-py3-none-any.whl (1.1 MB)
Using cached cloudpickle-3.0.0-py3-none-any.whl (20 kB)
Using cached gym_notices-0.0.8-py3-none-any.whl (3.0 kB)
Building wheels for collected packages: nes-py
  Building wheel for nes-py (setup.py) ... error
  error: subprocess-exited-with-error

  × python setup.py bdist_wheel did not run successfully.
  │ exit code: 1
  ╰─> [33 lines of output]
      running bdist_wheel
      running build
      running build_py
      creating build
      creating build\lib.win-amd64-cpython-311
      creating build\lib.win-amd64-cpython-311\nes_py
      copying nes_py\nes_env.py -> build\lib.win-amd64-cpython-311\nes_py
      copying nes_py\_image_viewer.py -> build\lib.win-amd64-cpython-311\nes_py
      copying nes_py\_rom.py -> build\lib.win-amd64-cpython-311\nes_py
      copying nes_py\__init__.py -> build\lib.win-amd64-cpython-311\nes_py
      creating build\lib.win-amd64-cpython-311\nes_py\app
      copying nes_py\app\cli.py -> build\lib.win-amd64-cpython-311\nes_py\app
      copying nes_py\app\play_human.py -> build\lib.win-amd64-cpython-311\nes_py\app
      copying nes_py\app\play_random.py -> build\lib.win-amd64-cpython-311\nes_py\app
      copying nes_py\app\__init__.py -> build\lib.win-amd64-cpython-311\nes_py\app
      creating build\lib.win-amd64-cpython-311\nes_py\wrappers
      copying nes_py\wrappers\joypad_space.py -> build\lib.win-amd64-cpython-311\nes_py\wrappers
      copying nes_py\wrappers\__init__.py -> build\lib.win-amd64-cpython-311\nes_py\wrappers
      running build_ext
      building 'nes_py.lib_nes_env' extension
      creating build\temp.win-amd64-cpython-311
      creating build\temp.win-amd64-cpython-311\Release
      creating build\temp.win-amd64-cpython-311\Release\nes_py
      creating build\temp.win-amd64-cpython-311\Release\nes_py\nes
      creating build\temp.win-amd64-cpython-311\Release\nes_py\nes\src
      creating build\temp.win-amd64-cpython-311\Release\nes_py\nes\src\mappers
      cl.exe /c /nologo /O2 /W3 /GL /DNDEBUG /MD -Ines_py/nes/include -IE:\Python311-venv\include -IE:\Python311\include -IE:\Python311\Include /EHsc /Tpnes_py/nes/src/mappers\mapper_CNROM.cpp /Fobuild\temp.win-amd64-cpython-311\Release\nes_py/nes/src/mappers\mapper_CNROM.obj -std=c++1y -pipe -O3
      cl : row command warning D9002 : ignoring option "-std=c++1y"
      cl : row command D9002 : ignoring option "-pipe"
      cl : row command D9002 : ignoring option "-O3"
      mapper_CNROM.cpp
      nes_py/nes/include\common.hpp(13): fatal error C1083: can;t open file: 'cstdint': No such file or directory
      error: command 'C:\\Program Files (x86)\\Microsoft Visual Studio\\2022\\BuildTools\\VC\\Tools\\MSVC\\14.39.33519\\bin\\Hostx64\\x64\\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 nes-py
  Running setup.py clean for nes-py
Failed to build nes-py
ERROR: Could not build wheels for nes-py, which is required to install pyproject.toml-based projects

To Reproduce

Steps to reproduce the behavior:

  1. nes_py -r E:\roms\1.nes

Expected behavior

Run simple mario game.

Screenshots

If applicable, add screenshots to help explain your problem.

Environment

Additional context

nes_py-8.2.1.tar.gz

Solved similar problem in other solutions: https://github.com/jameskmurphy/nes/issues/3#issuecomment-2007592573