Kautenja / gym-super-mario-bros

An OpenAI Gym interface to Super Mario Bros. & Super Mario Bros. 2 (Lost Levels) on The NES

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

pip install gym-super-mario-bros error

SamGenTLEManKaka opened this issue · comments

Describe the bug

A clear and concise description of what the bug is.

Reproduction Script

Provide a script to reproduce the error using the following template,
replacing <YOUR SCRIPT> with your script:

PS D:\project\Super-mario-bros-A3C-pytorch> pip install gym-super-mario-bros
Collecting gym-super-mario-bros
  Using cached https://files.pythonhosted.org/packages/2b/8e/a4a752e0dc7b194620192ebe8682776a4676a57662b3f998ddbcd0660e1c/gym_super_mario_bros-7.2.3-py2.py3-none-any.whl
Collecting nes-py>=8.0.0 (from gym-super-mario-bros)
  Using cached https://files.pythonhosted.org/packages/e1/77/49749953f8b82cbb9f0b4104b4f4f6226ec7381f54893c09f38294282549/nes_py-8.0.2.tar.gz
Requirement already satisfied: gym>=0.10.9 in d:\programdata\anaconda3\lib\site-packages (from nes-py>=8.0.0->gym-super-mario-bros) (0.12.5)
Requirement already satisfied: numpy>=1.12.1 in d:\programdata\anaconda3\lib\site-packages (from nes-py>=8.0.0->gym-super-mario-bros) (1.16.4)
Requirement already satisfied: pyglet>=1.3.2 in d:\programdata\anaconda3\lib\site-packages (from nes-py>=8.0.0->gym-super-mario-bros) (1.3.2)
Requirement already satisfied: tqdm>=4.19.5 in d:\programdata\anaconda3\lib\site-packages (from nes-py>=8.0.0->gym-super-mario-bros) (4.32.1)
Requirement already satisfied: six in d:\programdata\anaconda3\lib\site-packages (from gym>=0.10.9->nes-py>=8.0.0->gym-super-mario-bros) (1.11.0)
Requirement already satisfied: scipy in d:\programdata\anaconda3\lib\site-packages (from gym>=0.10.9->nes-py>=8.0.0->gym-super-mario-bros) (0.19.1)
Requirement already satisfied: future in d:\programdata\anaconda3\lib\site-packages (from pyglet>=1.3.2->nes-py>=8.0.0->gym-super-mario-bros) (0.16.0)
Building wheels for collected packages: nes-py
  Building wheel for nes-py (setup.py) ... error
  ERROR: Complete output from command 'd:\programdata\anaconda3\python.exe' -u -c 'import setuptools, tokenize;__file__='"'"'C:\\Users\\sh12640\\AppData\\Local\\Temp\\pip-install-j4jew_kf\\nes-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 'C:\Users\sh12640\AppData\Local\Temp\pip-wheel-esrxom4c' --python-tag cp36:
  ERROR: running bdist_wheel
  running build
  running build_py
  creating build
  creating build\lib.win-amd64-3.6
  creating build\lib.win-amd64-3.6\nes_py
  copying nes_py\nes_env.py -> build\lib.win-amd64-3.6\nes_py
  copying nes_py\_image_viewer.py -> build\lib.win-amd64-3.6\nes_py
  copying nes_py\_rom.py -> build\lib.win-amd64-3.6\nes_py
  copying nes_py\__init__.py -> build\lib.win-amd64-3.6\nes_py
  creating build\lib.win-amd64-3.6\nes_py\app
  copying nes_py\app\cli.py -> build\lib.win-amd64-3.6\nes_py\app
  copying nes_py\app\play_human.py -> build\lib.win-amd64-3.6\nes_py\app
  copying nes_py\app\play_random.py -> build\lib.win-amd64-3.6\nes_py\app
  copying nes_py\app\__init__.py -> build\lib.win-amd64-3.6\nes_py\app
  creating build\lib.win-amd64-3.6\nes_py\wrappers
  copying nes_py\wrappers\joypad_space.py -> build\lib.win-amd64-3.6\nes_py\wrappers
  copying nes_py\wrappers\__init__.py -> build\lib.win-amd64-3.6\nes_py\wrappers
  running build_ext
  building 'nes_py.lib_nes_env' extension
  creating build\temp.win-amd64-3.6
  creating build\temp.win-amd64-3.6\Release
  creating build\temp.win-amd64-3.6\Release\nes_py
  creating build\temp.win-amd64-3.6\Release\nes_py\nes
  creating build\temp.win-amd64-3.6\Release\nes_py\nes\src
  creating build\temp.win-amd64-3.6\Release\nes_py\nes\src\mappers
  C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\BIN\x86_amd64\cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MD -Ines_py/nes/include -Id:\programdata\anaconda3\include -Id:\programdata\anaconda3\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" "-IC:\Program Files (x86)\Windows Kits\NETFXSDK\4.6.1\include\um" "-IC:\Program Files (x86)\Windows Kits\8.1\include\\shared" "-IC:\Program Files (x86)\Windows Kits\8.1\include\\um" "-IC:\Program Files (x86)\Windows Kits\8.1\include\\winrt" /EHsc /Tpnes_py/nes/src\cartridge.cpp /Fobuild\temp.win-amd64-3.6\Release\nes_py/nes/src\cartridge.obj -std=c++1y -march=native -pipe -O2
  cl: 命令行 warning D9002 :忽略未知选项-std=c++1y
  cl: 命令行 warning D9002 :忽略未知选项-march=native
  cl: 命令行 warning D9002 :忽略未知选项-pipe
  cartridge.cpp
  nes_py/nes/src\cartridge.cpp(22): warning C4800: int: 将值强制为布尔值truefalse(性能警告)
  C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\BIN\x86_amd64\cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MD -Ines_py/nes/include -Id:\programdata\anaconda3\include -Id:\programdata\anaconda3\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" "-IC:\Program Files (x86)\Windows Kits\NETFXSDK\4.6.1\include\um" "-IC:\Program Files (x86)\Windows Kits\8.1\include\\shared" "-IC:\Program Files (x86)\Windows Kits\8.1\include\\um" "-IC:\Program Files (x86)\Windows Kits\8.1\include\\winrt" /EHsc /Tpnes_py/nes/src\controller.cpp /Fobuild\temp.win-amd64-3.6\Release\nes_py/nes/src\controller.obj -std=c++1y -march=native -pipe -O2
  cl: 命令行 warning D9002 :忽略未知选项-std=c++1y
  cl: 命令行 warning D9002 :忽略未知选项-march=native
  cl: 命令行 warning D9002 :忽略未知选项-pipe
  controller.cpp
  C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\BIN\x86_amd64\cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MD -Ines_py/nes/include -Id:\programdata\anaconda3\include -Id:\programdata\anaconda3\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" "-IC:\Program Files (x86)\Windows Kits\NETFXSDK\4.6.1\include\um" "-IC:\Program Files (x86)\Windows Kits\8.1\include\\shared" "-IC:\Program Files (x86)\Windows Kits\8.1\include\\um" "-IC:\Program Files (x86)\Windows Kits\8.1\include\\winrt" /EHsc /Tpnes_py/nes/src\cpu.cpp /Fobuild\temp.win-amd64-3.6\Release\nes_py/nes/src\cpu.obj -std=c++1y -march=native -pipe -O2
  cl: 命令行 warning D9002 :忽略未知选项-std=c++1y
  cl: 命令行 warning D9002 :忽略未知选项-march=native
  cl: 命令行 warning D9002 :忽略未知选项-pipe
  cpu.cpp
  nes_py/nes/include\cpu.hpp(48): warning C4800: int: 将值强制为布尔值truefalse(性能警告)
  nes_py/nes/src\cpu.cpp(139): warning C4800: int: 将值强制为布尔值truefalse(性能警告)
  nes_py/nes/src\cpu.cpp(154): error C2196: case 值3已使用
  nes_py/nes/src\cpu.cpp(207): warning C4800: int: 将值强制为布尔值truefalse(性能警告)
  nes_py/nes/src\cpu.cpp(208): warning C4800: int: 将值强制为布尔值truefalse(性能警告)
  nes_py/nes/src\cpu.cpp(220): warning C4244: 参数: 从NES_Address转换到NES_Byte,可能丢失数据
  nes_py/nes/src\cpu.cpp(226): warning C4244: 参数: 从NES_Address转换到NES_Byte,可能丢失数据
  nes_py/nes/src\cpu.cpp(306): warning C4800: int: 将值强制为布尔值truefalse(性能警告)
  nes_py/nes/src\cpu.cpp(309): warning C4800: int: 将值强制为布尔值truefalse(性能警告)
  nes_py/nes/src\cpu.cpp(329): warning C4800: int: 将值强制为布尔值truefalse(性能警告)
  nes_py/nes/src\cpu.cpp(330): warning C4244: =: 从NES_Address转换到NES_Byte,可能丢失数据
  nes_py/nes/src\cpu.cpp(331): warning C4244: 参数: 从NES_Address转换到NES_Byte,可能丢失数据
  nes_py/nes/src\cpu.cpp(337): warning C4244: 参数: 从NES_Address转换到NES_Byte,可能丢失数据
  nes_py/nes/src\cpu.cpp(400): warning C4800: int: 将值强制为布尔值truefalse(性能警告)
  nes_py/nes/src\cpu.cpp(409): warning C4800: int: 将值强制为布尔值truefalse(性能警告)
  nes_py/nes/src\cpu.cpp(411): warning C4244: 参数: 从NES_Address转换到NES_Byte,可能丢失数据
  nes_py/nes/src\cpu.cpp(412): warning C4244: 参数: 从NES_Address转换到NES_Byte,可能丢失数据
  nes_py/nes/src\cpu.cpp(430): warning C4244: 参数: 从NES_Address转换到NES_Byte,可能丢失数据
  nes_py/nes/src\cpu.cpp(431): warning C4244: 参数: 从NES_Address转换到NES_Byte,可能丢失数据
  nes_py/nes/src\cpu.cpp(478): warning C4244: 参数: 从NES_Address转换到NES_Byte,可能丢失数据
  error: command 'C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\VC\\BIN\\x86_amd64\\cl.exe' failed with exit status 2
  ----------------------------------------
  ERROR: Failed building wheel for nes-py
  Running setup.py clean for nes-py
Failed to build nes-py
Installing collected packages: nes-py, gym-super-mario-bros
  Running setup.py install for nes-py ... error
    ERROR: Complete output from command 'd:\programdata\anaconda3\python.exe' -u -c 'import setuptools, tokenize;__file__='"'"'C:\\Users\\sh12640\\AppData\\Local\\Temp\\pip-install-j4jew_kf\\nes-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\sh12640\AppData\Local\Temp\pip-record-qevjt065\install-record.txt' --single-version-externally-managed --compile:
    ERROR: running install
    running build
    running build_py
    creating build
    creating build\lib.win-amd64-3.6
    creating build\lib.win-amd64-3.6\nes_py
    copying nes_py\nes_env.py -> build\lib.win-amd64-3.6\nes_py
    copying nes_py\_image_viewer.py -> build\lib.win-amd64-3.6\nes_py
    copying nes_py\_rom.py -> build\lib.win-amd64-3.6\nes_py
    copying nes_py\__init__.py -> build\lib.win-amd64-3.6\nes_py
    creating build\lib.win-amd64-3.6\nes_py\app
    copying nes_py\app\cli.py -> build\lib.win-amd64-3.6\nes_py\app
    copying nes_py\app\play_human.py -> build\lib.win-amd64-3.6\nes_py\app
    copying nes_py\app\play_random.py -> build\lib.win-amd64-3.6\nes_py\app
    copying nes_py\app\__init__.py -> build\lib.win-amd64-3.6\nes_py\app
    creating build\lib.win-amd64-3.6\nes_py\wrappers
    copying nes_py\wrappers\joypad_space.py -> build\lib.win-amd64-3.6\nes_py\wrappers
    copying nes_py\wrappers\__init__.py -> build\lib.win-amd64-3.6\nes_py\wrappers
    running build_ext
    building 'nes_py.lib_nes_env' extension
    creating build\temp.win-amd64-3.6
    creating build\temp.win-amd64-3.6\Release
    creating build\temp.win-amd64-3.6\Release\nes_py
    creating build\temp.win-amd64-3.6\Release\nes_py\nes
    creating build\temp.win-amd64-3.6\Release\nes_py\nes\src
    creating build\temp.win-amd64-3.6\Release\nes_py\nes\src\mappers
    C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\BIN\x86_amd64\cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MD -Ines_py/nes/include -Id:\programdata\anaconda3\include -Id:\programdata\anaconda3\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" "-IC:\Program Files (x86)\Windows Kits\NETFXSDK\4.6.1\include\um" "-IC:\Program Files (x86)\Windows Kits\8.1\include\\shared" "-IC:\Program Files (x86)\Windows Kits\8.1\include\\um" "-IC:\Program Files (x86)\Windows Kits\8.1\include\\winrt" /EHsc /Tpnes_py/nes/src\cartridge.cpp /Fobuild\temp.win-amd64-3.6\Release\nes_py/nes/src\cartridge.obj -std=c++1y -march=native -pipe -O2
    cl: 命令行 warning D9002 :忽略未知选项-std=c++1y
    cl: 命令行 warning D9002 :忽略未知选项-march=native
    cl: 命令行 warning D9002 :忽略未知选项-pipe
    cartridge.cpp
    nes_py/nes/src\cartridge.cpp(22): warning C4800: int: 将值强制为布尔值truefalse(性能警告)
    C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\BIN\x86_amd64\cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MD -Ines_py/nes/include -Id:\programdata\anaconda3\include -Id:\programdata\anaconda3\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" "-IC:\Program Files (x86)\Windows Kits\NETFXSDK\4.6.1\include\um" "-IC:\Program Files (x86)\Windows Kits\8.1\include\\shared" "-IC:\Program Files (x86)\Windows Kits\8.1\include\\um" "-IC:\Program Files (x86)\Windows Kits\8.1\include\\winrt" /EHsc /Tpnes_py/nes/src\controller.cpp /Fobuild\temp.win-amd64-3.6\Release\nes_py/nes/src\controller.obj -std=c++1y -march=native -pipe -O2
    cl: 命令行 warning D9002 :忽略未知选项-std=c++1y
    cl: 命令行 warning D9002 :忽略未知选项-march=native
    cl: 命令行 warning D9002 :忽略未知选项-pipe
    controller.cpp
    C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\BIN\x86_amd64\cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MD -Ines_py/nes/include -Id:\programdata\anaconda3\include -Id:\programdata\anaconda3\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" "-IC:\Program Files (x86)\Windows Kits\NETFXSDK\4.6.1\include\um" "-IC:\Program Files (x86)\Windows Kits\8.1\include\\shared" "-IC:\Program Files (x86)\Windows Kits\8.1\include\\um" "-IC:\Program Files (x86)\Windows Kits\8.1\include\\winrt" /EHsc /Tpnes_py/nes/src\cpu.cpp /Fobuild\temp.win-amd64-3.6\Release\nes_py/nes/src\cpu.obj -std=c++1y -march=native -pipe -O2
    cl: 命令行 warning D9002 :忽略未知选项-std=c++1y
    cl: 命令行 warning D9002 :忽略未知选项-march=native
    cl: 命令行 warning D9002 :忽略未知选项-pipe
    cpu.cpp
    nes_py/nes/include\cpu.hpp(48): warning C4800: int: 将值强制为布尔值truefalse(性能警告)
    nes_py/nes/src\cpu.cpp(139): warning C4800: int: 将值强制为布尔值truefalse(性能警告)
    nes_py/nes/src\cpu.cpp(154): error C2196: case 值3已使用
    nes_py/nes/src\cpu.cpp(207): warning C4800: int: 将值强制为布尔值truefalse(性能警告)
    nes_py/nes/src\cpu.cpp(208): warning C4800: int: 将值强制为布尔值truefalse(性能警告)
    nes_py/nes/src\cpu.cpp(220): warning C4244: 参数: 从NES_Address转换到NES_Byte,可能丢失数据
    nes_py/nes/src\cpu.cpp(226): warning C4244: 参数: 从NES_Address转换到NES_Byte,可能丢失数据
    nes_py/nes/src\cpu.cpp(306): warning C4800: int: 将值强制为布尔值truefalse(性能警告)
    nes_py/nes/src\cpu.cpp(309): warning C4800: int: 将值强制为布尔值truefalse(性能警告)
    nes_py/nes/src\cpu.cpp(329): warning C4800: int: 将值强制为布尔值truefalse(性能警告)
    nes_py/nes/src\cpu.cpp(330): warning C4244: =: 从NES_Address转换到NES_Byte,可能丢失数据
    nes_py/nes/src\cpu.cpp(331): warning C4244: 参数: 从NES_Address转换到NES_Byte,可能丢失数据
    nes_py/nes/src\cpu.cpp(337): warning C4244: 参数: 从NES_Address转换到NES_Byte,可能丢失数据
    nes_py/nes/src\cpu.cpp(400): warning C4800: int: 将值强制为布尔值truefalse(性能警告)
    nes_py/nes/src\cpu.cpp(409): warning C4800: int: 将值强制为布尔值truefalse(性能警告)
    nes_py/nes/src\cpu.cpp(411): warning C4244: 参数: 从NES_Address转换到NES_Byte,可能丢失数据
    nes_py/nes/src\cpu.cpp(412): warning C4244: 参数: 从NES_Address转换到NES_Byte,可能丢失数据
    nes_py/nes/src\cpu.cpp(430): warning C4244: 参数: 从NES_Address转换到NES_Byte,可能丢失数据
    nes_py/nes/src\cpu.cpp(431): warning C4244: 参数: 从NES_Address转换到NES_Byte,可能丢失数据
    nes_py/nes/src\cpu.cpp(478): warning C4244: 参数: 从NES_Address转换到NES_Byte,可能丢失数据
    error: command 'C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\VC\\BIN\\x86_amd64\\cl.exe' failed with exit status 2
    ----------------------------------------
ERROR: Command "'d:\programdata\anaconda3\python.exe' -u -c 'import setuptools, tokenize;__file__='"'"'C:\\Users\\sh12640\\AppData\\Local\\Temp\\pip-install-j4jew_kf\\nes-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\sh12640\AppData\Local\Temp\pip-record-qevjt065\install-record.txt' --single-version-externally-managed --compile" failed with error code 1 in C:\Users\sh12640\AppData\Local\Temp\pip-install-j4jew_kf\nes-py\

Expected behavior

A clear and concise description of what you expected to happen.

Screenshots

If applicable, add screenshots to help explain your problem.

Additional context

Add any other context about the problem here.

image
image
image

A) this is a nes-py issue, not gym-super-mario-bros. B) error 2 means "file not found" and means the linker can't find the right DLLs. MSVS 14.0 should work so I'm thinking your environment is messed up. Best solution: don't use windows :) closing issue.

here is a similar thread: sammchardy/python-binance#148