Getting requirements to build wheel-error Pygame on Windows

huangapple go评论102阅读模式
英文:

Getting requirements to build wheel-error Pygame on Windows

问题

I am trying to install Pygame using this:
pip install pygame
and I get this result:

  1. pip install pygame
  2. Collecting pygame
  3. Using cached pygame-2.4.0.tar.gz (13.2 MB)
  4. Installing build dependencies ... done
  5. Getting requirements to build wheel ... error
  6. error: subprocess-exited-with-error
  7. × Getting requirements to build wheel did not run successfully.
  8. exit code: 1
  9. ╰─> [85 lines of output]
  10. ...
  11. [End of output]
  12. note: This error originates from a subprocess, and is likely not a problem with pip.
  13. error: subprocess-exited-with-error
  14. × Getting requirements to build wheel did not run successfully.
  15. exit code: 1
  16. ╰─> See above for output.
  17. note: This error originates from a subprocess, and is likely not a problem with pip.

Please let me know if you need further assistance.

英文:

I am trying to install Pygame using this:
pip install pygame
and I get this result:
` pip install pygame
Collecting pygame
Using cached pygame-2.4.0.tar.gz (13.2 MB)
Installing build dependencies ... done
Getting requirements to build wheel ... error
error: subprocess-exited-with-error

× Getting requirements to build wheel did not run successfully.
│ exit code: 1
╰─> [85 lines of output]

  1. WARNING, No "Setup" File Exists, Running "buildconfig/config.py"
  2. Using WINDOWS configuration...
  3. Making dir :prebuilt_downloads:
  4. Downloading... https://www.libsdl.org/release/SDL2-devel-2.26.4-VC.zip 0dea77fd5ead8c1a2134af3fc256578327e25879
  5. Unzipping :prebuilt_downloads\SDL2-devel-2.26.4-VC.zip:
  6. Downloading... https://www.libsdl.org/projects/SDL_image/release/SDL2_image-devel-2.0.5-VC.zip 137f86474691f4e12e76e07d58d5920c8d844d5b
  7. Unzipping :prebuilt_downloads\SDL2_image-devel-2.0.5-VC.zip:
  8. Downloading... https://github.com/libsdl-org/SDL_ttf/releases/download/release-2.20.1/SDL2_ttf-devel-2.20.1-VC.zip 371606aceba450384428fd2852f73d2f6290b136
  9. Unzipping :prebuilt_downloads\SDL2_ttf-devel-2.20.1-VC.zip:
  10. Downloading... https://github.com/libsdl-org/SDL_mixer/releases/download/release-2.6.2/SDL2_mixer-devel-2.6.2-VC.zip 000e3ea8a50261d46dbd200fb450b93c59ed4482
  11. Unzipping :prebuilt_downloads\SDL2_mixer-devel-2.6.2-VC.zip:
  12. Downloading... https://github.com/pygame/pygame/releases/download/2.1.3.dev4/prebuilt-x64-pygame-2.1.4-20220319.zip 16b46596744ce9ef80e7e40fa72ddbafef1cf586
  13. Unzipping :prebuilt_downloads\prebuilt-x64-pygame-2.1.4-20220319.zip:
  14. copying into .\prebuilt-x64
  15. Path for SDL: prebuilt-x64\SDL2-2.26.4
  16. ...Library directory for SDL: prebuilt-x64/SDL2-2.26.4/lib/x64
  17. ...Include directory for SDL: prebuilt-x64/SDL2-2.26.4/include
  18. Path for FONT: prebuilt-x64\SDL2_ttf-2.20.1
  19. ...Library directory for FONT: prebuilt-x64/SDL2_ttf-2.20.1/lib/x64
  20. ...Include directory for FONT: prebuilt-x64/SDL2_ttf-2.20.1/include
  21. Path for IMAGE: prebuilt-x64\SDL2_image-2.0.5
  22. ...Library directory for IMAGE: prebuilt-x64/SDL2_image-2.0.5/lib/x64
  23. ...Include directory for IMAGE: prebuilt-x64/SDL2_image-2.0.5/include
  24. Path for MIXER: prebuilt-x64\SDL2_mixer-2.6.2
  25. ...Library directory for MIXER: prebuilt-x64/SDL2_mixer-2.6.2/lib/x64
  26. ...Include directory for MIXER: prebuilt-x64/SDL2_mixer-2.6.2/include
  27. Path for PORTMIDI: prebuilt-x64
  28. ...Library directory for PORTMIDI: prebuilt-x64/lib
  29. ...Include directory for PORTMIDI: prebuilt-x64/include
  30. DLL for SDL2: prebuilt-x64/SDL2-2.26.4/lib/x64/SDL2.dll
  31. DLL for SDL2_ttf: prebuilt-x64/SDL2_ttf-2.20.1/lib/x64/SDL2_ttf.dll
  32. DLL for SDL2_image: prebuilt-x64/SDL2_image-2.0.5/lib/x64/SDL2_image.dll
  33. DLL for SDL2_mixer: prebuilt-x64/SDL2_mixer-2.6.2/lib/x64/SDL2_mixer.dll
  34. DLL for portmidi: prebuilt-x64/lib/portmidi.dll
  35. Path for FREETYPE: prebuilt-x64
  36. ...Library directory for FREETYPE: prebuilt-x64/lib
  37. ...Include directory for FREETYPE: prebuilt-x64/include
  38. Path for PNG not found.
  39. ...Found include dir but no library dir in prebuilt-x64.
  40. Path for JPEG not found.
  41. ...Found include dir but no library dir in prebuilt-x64.
  42. DLL for freetype: prebuilt-x64/lib/freetype.dll
  43. DLL for png: prebuilt-x64/SDL2_image-2.0.5/lib/x64/libpng16-16.dll
  44. ---
  45. For help with compilation see:
  46. https://www.pygame.org/wiki/CompileWindows
  47. To contribute to pygame development see:
  48. https://www.pygame.org/contribute.html
  49. ---
  50. Traceback (most recent call last):
  51. File "C:\msys64\mingw64\lib\python3.9\site-packages\pip\_vendor\pyproject_hooks\_in_process\_in_process.py", line 353, in <module>
  52. main()
  53. File "C:\msys64\mingw64\lib\python3.9\site-packages\pip\_vendor\pyproject_hooks\_in_process\_in_process.py", line 335, in main
  54. json_out['return_val'] = hook(**hook_input['kwargs'])
  55. File "C:\msys64\mingw64\lib\python3.9\site-packages\pip\_vendor\pyproject_hooks\_in_process\_in_process.py", line 118, in get_requires_for_build_wheel
  56. return hook(config_settings)
  57. File "C:\Users\Valentina\AppData\Local\Temp\pip-build-env-t2ium7tq\overlay\lib\python3.9\site-packages\setuptools\build_meta.py", line 341, in get_requires_for_build_wheel
  58. return self._get_build_requires(config_settings, requirements=['wheel'])
  59. File "C:\Users\Valentina\AppData\Local\Temp\pip-build-env-t2ium7tq\overlay\lib\python3.9\site-packages\setuptools\build_meta.py", line 323, in _get_build_requires
  60. self.run_setup()
  61. File "C:\Users\Valentina\AppData\Local\Temp\pip-build-env-t2ium7tq\overlay\lib\python3.9\site-packages\setuptools\build_meta.py", line 487, in run_setup
  62. super(_BuildMetaLegacyBackend,
  63. File "C:\Users\Valentina\AppData\Local\Temp\pip-build-env-t2ium7tq\overlay\lib\python3.9\site-packages\setuptools\build_meta.py", line 338, in run_setup
  64. exec(code, locals())
  65. File "<string>", line 400, in <module>
  66. File "C:\Users\Valentina\AppData\Local\Temp\pip-install-v1elzk2b\pygame_0d0bf7baf2bf4e4585850a5e3fb956c0\buildconfig\config.py", line 231, in main
  67. deps = CFG.main(**kwds, auto_config=auto)
  68. File "C:\Users\Valentina\AppData\Local\Temp\pip-install-v1elzk2b\pygame_0d0bf7baf2bf4e4585850a5e3fb956c0\buildconfig\config_win.py", line 493, in main
  69. return setup_prebuilt_sdl2(prebuilt_dir)
  70. File "C:\Users\Valentina\AppData\Local\Temp\pip-install-v1elzk2b\pygame_0d0bf7baf2bf4e4585850a5e3fb956c0\buildconfig\config_win.py", line 453, in setup_prebuilt_sdl2
  71. DEPS.configure()
  72. File "C:\Users\Valentina\AppData\Local\Temp\pip-install-v1elzk2b\pygame_0d0bf7baf2bf4e4585850a5e3fb956c0\buildconfig\config_win.py", line 336, in configure
  73. from . import vstools
  74. File "C:\Users\Valentina\AppData\Local\Temp\pip-install-v1elzk2b\pygame_0d0bf7baf2bf4e4585850a5e3fb956c0\buildconfig\vstools.py", line 8, in <module>
  75. compiler.initialize()
  76. File "C:\Users\Valentina\AppData\Local\Temp\pip-build-env-t2ium7tq\overlay\lib\python3.9\site-packages\setuptools\_distutils\msvccompiler.py", line 288, in initialize
  77. self.__paths = self.get_msvc_paths("path")
  78. File "C:\Users\Valentina\AppData\Local\Temp\pip-build-env-t2ium7tq\overlay\lib\python3.9\site-packages\setuptools\_distutils\msvccompiler.py", line 647, in get_msvc_paths
  79. r"\Win32 (%s)\Directories" % (self.__root, platform)
  80. AttributeError: 'MSVCCompiler' object has no attribute '_MSVCCompiler__root'
  81. [end of output]

note: This error originates from a subprocess, and is likely not a problem with pip.
error: subprocess-exited-with-error

× Getting requirements to build wheel did not run successfully.
│ exit code: 1
╰─> See above for output.

note: This error originates from a subprocess, and is likely not a problem with pip.`

答案1

得分: 2

抱歉,我只会翻译文本内容,不会回答关于要翻译的问题。以下是翻译好的内容:

问题在于你正在使用 mingw Python。

Python 包的 Windows wheels(二进制文件)是使用 MSVC 构建的,因为 Python.org 的 Python 安装是使用 MSVC 构建的。这确保了兼容性。

因此,由于你使用的是非官方版本的 Python,它检测到了不兼容性,并且需要从源代码构建 pygame。

迄今为止最简单的方法是使用标准的 Python 安装。这并不意味着你必须卸载现有的 Python,两者可以共存。在 Windows 上,你可以使用 py 命令来管理不同版本的 Python(py -0 列出版本,py -{version} 执行该版本)。

在构建配置中有一些关于 MSYS2 的支持,但我不知道如何使用它。https://github.com/pygame-community/pygame-ce/commit/78b0574e493988878aafb37945f93c78ddc21a94
(我链接了 pygame-ce 而不是 pygame,因为 pygame-ce 是 pygame 的替代分支,我帮助维护它,并且功能更丰富)

英文:

The problem is that are you are using mingw Python.

Windows wheels (binaries) for Python packages are built with MSVC, because Python.org Python installs are built with MSVC. This ensures compatibility.

So since you have an unofficial version of Python it detects the incompatibility and sees that it has to build pygame from source.

The easiest way by far to get around this would be to use a standard Python installation instead. This doesn't mean you'd have to uninstall your existing Python, both could coexist. On Windows you can manage different versions of python with the py command. (py -0 lists, py -{version} executes that version).

There is some source support for MSYS2 stuff in the build configuration, but I have no idea how to use it. https://github.com/pygame-community/pygame-ce/commit/78b0574e493988878aafb37945f93c78ddc21a94
(I linked pygame-ce instead of pygame, since pygame-ce is the drop in fork of pygame I help maintain, and is more featureful)

huangapple
  • 本文由 发表于 2023年5月17日 18:02:05
  • 转载请务必保留本文链接:https://go.coder-hub.com/76270869.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定