pygame-web / pygbag

python and pygame wasm for everyone ( packager + test server + simulator )
https://github.com/pygame-web
MIT License
319 stars 36 forks source link

aiohttp requirement should be marked optionnal for 3.12 #130

Closed Schnitzyy closed 8 months ago

Schnitzyy commented 11 months ago

Upon running pip install pygbag I get the following error in the end. I have installed C++ from vs build tools and I'm running python 3.12.0 64 bit

`Building wheels for collected packages: aiohttp Building wheel for aiohttp (pyproject.toml) ... error error: subprocess-exited-with-error

× Building wheel for aiohttp (pyproject.toml) did not run successfully. │ exit code: 1 ╰─> [110 lines of output]


  * Accelerated build *
  *********************
  running bdist_wheel
  running build
  running build_py
  creating build
  creating build\lib.win-amd64-cpython-312
  creating build\lib.win-amd64-cpython-312\aiohttp
  copying aiohttp\abc.py -> build\lib.win-amd64-cpython-312\aiohttp
  copying aiohttp\base_protocol.py -> build\lib.win-amd64-cpython-312\aiohttp
  copying aiohttp\client.py -> build\lib.win-amd64-cpython-312\aiohttp
  copying aiohttp\client_exceptions.py -> build\lib.win-amd64-cpython-312\aiohttp
  copying aiohttp\client_proto.py -> build\lib.win-amd64-cpython-312\aiohttp
  copying aiohttp\client_reqrep.py -> build\lib.win-amd64-cpython-312\aiohttp
  copying aiohttp\client_ws.py -> build\lib.win-amd64-cpython-312\aiohttp
  copying aiohttp\connector.py -> build\lib.win-amd64-cpython-312\aiohttp
  copying aiohttp\cookiejar.py -> build\lib.win-amd64-cpython-312\aiohttp
  copying aiohttp\formdata.py -> build\lib.win-amd64-cpython-312\aiohttp
  copying aiohttp\hdrs.py -> build\lib.win-amd64-cpython-312\aiohttp
  copying aiohttp\helpers.py -> build\lib.win-amd64-cpython-312\aiohttp
  copying aiohttp\http.py -> build\lib.win-amd64-cpython-312\aiohttp
  copying aiohttp\http_exceptions.py -> build\lib.win-amd64-cpython-312\aiohttp
  copying aiohttp\http_parser.py -> build\lib.win-amd64-cpython-312\aiohttp
  copying aiohttp\http_websocket.py -> build\lib.win-amd64-cpython-312\aiohttp
  copying aiohttp\http_writer.py -> build\lib.win-amd64-cpython-312\aiohttp
  copying aiohttp\locks.py -> build\lib.win-amd64-cpython-312\aiohttp
  copying aiohttp\log.py -> build\lib.win-amd64-cpython-312\aiohttp
  copying aiohttp\multipart.py -> build\lib.win-amd64-cpython-312\aiohttp
  copying aiohttp\payload.py -> build\lib.win-amd64-cpython-312\aiohttp
  copying aiohttp\payload_streamer.py -> build\lib.win-amd64-cpython-312\aiohttp
  copying aiohttp\pytest_plugin.py -> build\lib.win-amd64-cpython-312\aiohttp
  copying aiohttp\resolver.py -> build\lib.win-amd64-cpython-312\aiohttp
  copying aiohttp\streams.py -> build\lib.win-amd64-cpython-312\aiohttp
  copying aiohttp\tcp_helpers.py -> build\lib.win-amd64-cpython-312\aiohttp
  copying aiohttp\test_utils.py -> build\lib.win-amd64-cpython-312\aiohttp
  copying aiohttp\tracing.py -> build\lib.win-amd64-cpython-312\aiohttp
  copying aiohttp\typedefs.py -> build\lib.win-amd64-cpython-312\aiohttp
  copying aiohttp\web.py -> build\lib.win-amd64-cpython-312\aiohttp
  copying aiohttp\web_app.py -> build\lib.win-amd64-cpython-312\aiohttp
  copying aiohttp\web_exceptions.py -> build\lib.win-amd64-cpython-312\aiohttp
  copying aiohttp\web_fileresponse.py -> build\lib.win-amd64-cpython-312\aiohttp
  copying aiohttp\web_log.py -> build\lib.win-amd64-cpython-312\aiohttp
  copying aiohttp\web_middlewares.py -> build\lib.win-amd64-cpython-312\aiohttp
  copying aiohttp\web_protocol.py -> build\lib.win-amd64-cpython-312\aiohttp
  copying aiohttp\web_request.py -> build\lib.win-amd64-cpython-312\aiohttp
  copying aiohttp\web_response.py -> build\lib.win-amd64-cpython-312\aiohttp
  copying aiohttp\web_routedef.py -> build\lib.win-amd64-cpython-312\aiohttp
  copying aiohttp\web_runner.py -> build\lib.win-amd64-cpython-312\aiohttp
  copying aiohttp\web_server.py -> build\lib.win-amd64-cpython-312\aiohttp
  copying aiohttp\web_urldispatcher.py -> build\lib.win-amd64-cpython-312\aiohttp
  copying aiohttp\web_ws.py -> build\lib.win-amd64-cpython-312\aiohttp
  copying aiohttp\worker.py -> build\lib.win-amd64-cpython-312\aiohttp
  copying aiohttp\__init__.py -> build\lib.win-amd64-cpython-312\aiohttp
  running egg_info
  writing aiohttp.egg-info\PKG-INFO
  writing dependency_links to aiohttp.egg-info\dependency_links.txt
  writing requirements to aiohttp.egg-info\requires.txt
  writing top-level names to aiohttp.egg-info\top_level.txt
  reading manifest file 'aiohttp.egg-info\SOURCES.txt'
  reading manifest template 'MANIFEST.in'
  warning: no files found matching 'aiohttp' anywhere in distribution
  warning: no previously-included files matching '*.pyc' found anywhere in distribution
  warning: no previously-included files matching '*.pyd' found anywhere in distribution
  warning: no previously-included files matching '*.so' found anywhere in distribution
  warning: no previously-included files matching '*.lib' found anywhere in distribution
  warning: no previously-included files matching '*.dll' found anywhere in distribution
  warning: no previously-included files matching '*.a' found anywhere in distribution
  warning: no previously-included files matching '*.obj' found anywhere in distribution
  warning: no previously-included files found matching 'aiohttp\*.html'
  no previously-included directories found matching 'docs\_build'
  adding license file 'LICENSE.txt'
  writing manifest file 'aiohttp.egg-info\SOURCES.txt'
  copying aiohttp\_cparser.pxd -> build\lib.win-amd64-cpython-312\aiohttp
  copying aiohttp\_find_header.pxd -> build\lib.win-amd64-cpython-312\aiohttp
  copying aiohttp\_headers.pxi -> build\lib.win-amd64-cpython-312\aiohttp
  copying aiohttp\_helpers.pyi -> build\lib.win-amd64-cpython-312\aiohttp
  copying aiohttp\_helpers.pyx -> build\lib.win-amd64-cpython-312\aiohttp
  copying aiohttp\_http_parser.pyx -> build\lib.win-amd64-cpython-312\aiohttp
  copying aiohttp\_http_writer.pyx -> build\lib.win-amd64-cpython-312\aiohttp
  copying aiohttp\_websocket.pyx -> build\lib.win-amd64-cpython-312\aiohttp
  copying aiohttp\py.typed -> build\lib.win-amd64-cpython-312\aiohttp
  creating build\lib.win-amd64-cpython-312\aiohttp\.hash
  copying aiohttp\.hash\_cparser.pxd.hash -> build\lib.win-amd64-cpython-312\aiohttp\.hash
  copying aiohttp\.hash\_find_header.pxd.hash -> build\lib.win-amd64-cpython-312\aiohttp\.hash
  copying aiohttp\.hash\_helpers.pyi.hash -> build\lib.win-amd64-cpython-312\aiohttp\.hash
  copying aiohttp\.hash\_helpers.pyx.hash -> build\lib.win-amd64-cpython-312\aiohttp\.hash
  copying aiohttp\.hash\_http_parser.pyx.hash -> build\lib.win-amd64-cpython-312\aiohttp\.hash
  copying aiohttp\.hash\_http_writer.pyx.hash -> build\lib.win-amd64-cpython-312\aiohttp\.hash
  copying aiohttp\.hash\_websocket.pyx.hash -> build\lib.win-amd64-cpython-312\aiohttp\.hash
  copying aiohttp\.hash\hdrs.py.hash -> build\lib.win-amd64-cpython-312\aiohttp\.hash
  running build_ext
  building 'aiohttp._websocket' extension
  creating build\temp.win-amd64-cpython-312
  creating build\temp.win-amd64-cpython-312\Release
  creating build\temp.win-amd64-cpython-312\Release\aiohttp
  "C:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\VC\Tools\MSVC\14.37.32822\bin\HostX86\x64\cl.exe" /c /nologo /O2 /W3 /GL /DNDEBUG /MD -IC:\Users\sworn\AppData\Local\Programs\Python\Python312\include -IC:\Users\sworn\AppData\Local\Programs\Python\Python312\Include "-IC:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\VC\Tools\MSVC\14.37.32822\include" "-IC:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\VC\Auxiliary\VS\include" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.22621.0\ucrt" "-IC:\Program Files (x86)\Windows Kits\10\\include\10.0.22621.0\\um" "-IC:\Program Files (x86)\Windows Kits\10\\include\10.0.22621.0\\shared" "-IC:\Program Files (x86)\Windows Kits\10\\include\10.0.22621.0\\winrt" "-IC:\Program Files (x86)\Windows Kits\10\\include\10.0.22621.0\\cppwinrt" /Tcaiohttp/_websocket.c /Fobuild\temp.win-amd64-cpython-312\Release\aiohttp/_websocket.obj
  aiohttp/_websocket.c(3097): error C2039: 'ob_digit': is not a member of '_longobject'
  C:\Users\sworn\AppData\Local\Programs\Python\Python312\include\cpython/longintrepr.h(87): note: see declaration of '_longobject'
  aiohttp/_websocket.c(3238): error C2039: 'ob_digit': is not a member of '_longobject'
  C:\Users\sworn\AppData\Local\Programs\Python\Python312\include\cpython/longintrepr.h(87): note: see declaration of '_longobject'
  aiohttp/_websocket.c(3293): error C2039: 'ob_digit': is not a member of '_longobject'
  C:\Users\sworn\AppData\Local\Programs\Python\Python312\include\cpython/longintrepr.h(87): note: see declaration of '_longobject'
  aiohttp/_websocket.c(3744): error C2039: 'ob_digit': is not a member of '_longobject'
  C:\Users\sworn\AppData\Local\Programs\Python\Python312\include\cpython/longintrepr.h(87): note: see declaration of '_longobject'
  error: command 'C:\\Program Files (x86)\\Microsoft Visual Studio\\2022\\BuildTools\\VC\\Tools\\MSVC\\14.37.32822\\bin\\HostX86\\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 aiohttp Failed to build aiohttp ERROR: Could not build wheels for aiohttp, which is required to install pyproject.toml-based projects`

pmp-p commented 11 months ago

Thank for the report !

i think you want to follow that issue https://github.com/aio-libs/aiohttp/issues/7739

from what i've read you would need to do py -m pip install aiohttp==3.9.0b0 before installing pygbag.

Let me know if you get it to work but leave this open because aiohttp should be optionnal as it is only for the simulator not packaging

Schnitzyy commented 11 months ago

Oh thanks that worked! But I'm having yet another issue could you refer to the #131

pmp-p commented 11 months ago

keeping open for 3.12 solution

pmp-p commented 8 months ago

Thanks for the report, made aiohttp optionnal with a message in the simulator giving the valid install cmd for 3.12/3.13