Getting requirements to build wheel-error Pygame on Windows

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

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:

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]

...
[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.

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]

  WARNING, No "Setup" File Exists, Running "buildconfig/config.py"
  Using WINDOWS configuration...

  Making dir :prebuilt_downloads:
  Downloading... https://www.libsdl.org/release/SDL2-devel-2.26.4-VC.zip 0dea77fd5ead8c1a2134af3fc256578327e25879
  Unzipping :prebuilt_downloads\SDL2-devel-2.26.4-VC.zip:
  Downloading... https://www.libsdl.org/projects/SDL_image/release/SDL2_image-devel-2.0.5-VC.zip 137f86474691f4e12e76e07d58d5920c8d844d5b
  Unzipping :prebuilt_downloads\SDL2_image-devel-2.0.5-VC.zip:
  Downloading... https://github.com/libsdl-org/SDL_ttf/releases/download/release-2.20.1/SDL2_ttf-devel-2.20.1-VC.zip 371606aceba450384428fd2852f73d2f6290b136
  Unzipping :prebuilt_downloads\SDL2_ttf-devel-2.20.1-VC.zip:
  Downloading... https://github.com/libsdl-org/SDL_mixer/releases/download/release-2.6.2/SDL2_mixer-devel-2.6.2-VC.zip 000e3ea8a50261d46dbd200fb450b93c59ed4482
  Unzipping :prebuilt_downloads\SDL2_mixer-devel-2.6.2-VC.zip:
  Downloading... https://github.com/pygame/pygame/releases/download/2.1.3.dev4/prebuilt-x64-pygame-2.1.4-20220319.zip 16b46596744ce9ef80e7e40fa72ddbafef1cf586
  Unzipping :prebuilt_downloads\prebuilt-x64-pygame-2.1.4-20220319.zip:
  copying into .\prebuilt-x64
  Path for SDL: prebuilt-x64\SDL2-2.26.4
  ...Library directory for SDL: prebuilt-x64/SDL2-2.26.4/lib/x64
  ...Include directory for SDL: prebuilt-x64/SDL2-2.26.4/include
  Path for FONT: prebuilt-x64\SDL2_ttf-2.20.1
  ...Library directory for FONT: prebuilt-x64/SDL2_ttf-2.20.1/lib/x64
  ...Include directory for FONT: prebuilt-x64/SDL2_ttf-2.20.1/include
  Path for IMAGE: prebuilt-x64\SDL2_image-2.0.5
  ...Library directory for IMAGE: prebuilt-x64/SDL2_image-2.0.5/lib/x64
  ...Include directory for IMAGE: prebuilt-x64/SDL2_image-2.0.5/include
  Path for MIXER: prebuilt-x64\SDL2_mixer-2.6.2
  ...Library directory for MIXER: prebuilt-x64/SDL2_mixer-2.6.2/lib/x64
  ...Include directory for MIXER: prebuilt-x64/SDL2_mixer-2.6.2/include
  Path for PORTMIDI: prebuilt-x64
  ...Library directory for PORTMIDI: prebuilt-x64/lib
  ...Include directory for PORTMIDI: prebuilt-x64/include
  DLL for SDL2: prebuilt-x64/SDL2-2.26.4/lib/x64/SDL2.dll
  DLL for SDL2_ttf: prebuilt-x64/SDL2_ttf-2.20.1/lib/x64/SDL2_ttf.dll
  DLL for SDL2_image: prebuilt-x64/SDL2_image-2.0.5/lib/x64/SDL2_image.dll
  DLL for SDL2_mixer: prebuilt-x64/SDL2_mixer-2.6.2/lib/x64/SDL2_mixer.dll
  DLL for portmidi: prebuilt-x64/lib/portmidi.dll
  Path for FREETYPE: prebuilt-x64
  ...Library directory for FREETYPE: prebuilt-x64/lib
  ...Include directory for FREETYPE: prebuilt-x64/include
  Path for PNG not found.
  ...Found include dir but no library dir in prebuilt-x64.
  Path for JPEG not found.
  ...Found include dir but no library dir in prebuilt-x64.
  DLL for freetype: prebuilt-x64/lib/freetype.dll
  DLL for png: prebuilt-x64/SDL2_image-2.0.5/lib/x64/libpng16-16.dll

  ---
  For help with compilation see:
      https://www.pygame.org/wiki/CompileWindows
  To contribute to pygame development see:
      https://www.pygame.org/contribute.html
  ---

  Traceback (most recent call last):
    File "C:\msys64\mingw64\lib\python3.9\site-packages\pip\_vendor\pyproject_hooks\_in_process\_in_process.py", line 353, in <module>
      main()
    File "C:\msys64\mingw64\lib\python3.9\site-packages\pip\_vendor\pyproject_hooks\_in_process\_in_process.py", line 335, in main
      json_out['return_val'] = hook(**hook_input['kwargs'])
    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
      return hook(config_settings)
    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
      return self._get_build_requires(config_settings, requirements=['wheel'])
    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
      self.run_setup()
    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
      super(_BuildMetaLegacyBackend,
    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
      exec(code, locals())
    File "<string>", line 400, in <module>
    File "C:\Users\Valentina\AppData\Local\Temp\pip-install-v1elzk2b\pygame_0d0bf7baf2bf4e4585850a5e3fb956c0\buildconfig\config.py", line 231, in main
      deps = CFG.main(**kwds, auto_config=auto)
    File "C:\Users\Valentina\AppData\Local\Temp\pip-install-v1elzk2b\pygame_0d0bf7baf2bf4e4585850a5e3fb956c0\buildconfig\config_win.py", line 493, in main
      return setup_prebuilt_sdl2(prebuilt_dir)
    File "C:\Users\Valentina\AppData\Local\Temp\pip-install-v1elzk2b\pygame_0d0bf7baf2bf4e4585850a5e3fb956c0\buildconfig\config_win.py", line 453, in setup_prebuilt_sdl2
      DEPS.configure()
    File "C:\Users\Valentina\AppData\Local\Temp\pip-install-v1elzk2b\pygame_0d0bf7baf2bf4e4585850a5e3fb956c0\buildconfig\config_win.py", line 336, in configure
      from . import vstools
    File "C:\Users\Valentina\AppData\Local\Temp\pip-install-v1elzk2b\pygame_0d0bf7baf2bf4e4585850a5e3fb956c0\buildconfig\vstools.py", line 8, in <module>
      compiler.initialize()
    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
      self.__paths = self.get_msvc_paths("path")
    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
      r"\Win32 (%s)\Directories" % (self.__root, platform)
  AttributeError: 'MSVCCompiler' object has no attribute '_MSVCCompiler__root'
  [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:

确定