英文:
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)
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论