[Python]pip install pygame安装报错解决方案

pip install pygame报错提示:

Microsoft Windows [版本 10.0.17763.3165]
(c) 2018 Microsoft Corporation。保留所有权利。
C:\Users\xxxxxxx>pip install pygame
Collecting pygame
Using cached pygame-2.1.2.tar.gz (10.1 MB)
Preparing metadata (setup.py) ... error
error: subprocess-exited-with-error
× python setup.py egg_info did not run successfully.
│ exit code: 1
╰─> [77 lines of output]
WARNING, No "Setup" File Exists, Running "buildconfig/config.py"
Using WINDOWS configuration...
Traceback (most recent call last):
File "<string>", line 2, in <module>
File "<pip-setuptools-caller>", line 34, in <module>
File "C:\Users\xxxxxxx\AppData\Local\Temp\pip-install-zqq3q3ot\pygame_1748e02cad70437b8b99abf25c9b1b20\setup.py", line 359, in <module>
buildconfig.config.main(AUTO_CONFIG)
File "C:\Users\xxxxxxx\AppData\Local\Temp\pip-install-zqq3q3ot\pygame_1748e02cad70437b8b99abf25c9b1b20\buildconfig\config.py", line 225, in main
deps = CFG.main(**kwds)
^^^^^^^^^^^^^^^^
File "C:\Users\xxxxxxx\AppData\Local\Temp\pip-install-zqq3q3ot\pygame_1748e02cad70437b8b99abf25c9b1b20\buildconfig\config_win.py", line 511, in main
return setup_prebuilt_sdl2(prebuilt_dir)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\xxxxxxx\AppData\Local\Temp\pip-install-zqq3q3ot\pygame_1748e02cad70437b8b99abf25c9b1b20\buildconfig\config_win.py", line 471, in setup_prebuilt_sdl2
DEPS.configure()
File "C:\Users\xxxxxxx\AppData\Local\Temp\pip-install-zqq3q3ot\pygame_1748e02cad70437b8b99abf25c9b1b20\buildconfig\config_win.py", line 336, in configure
from . import vstools
File "C:\Users\xxxxxxx\AppData\Local\Temp\pip-install-zqq3q3ot\pygame_1748e02cad70437b8b99abf25c9b1b20\buildconfig\vstools.py", line 11, in <module>
compiler.initialize()
File "C:\Python311\Lib\site-packages\setuptools\_distutils\msvc9compiler.py", line 403, in initialize
vc_env = query_vcvarsall(VERSION, plat_spec)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Python311\Lib\site-packages\setuptools\_distutils\msvc9compiler.py", line 281, in query_vcvarsall
raise DistutilsPlatformError("Unable to find vcvarsall.bat")
distutils.errors.DistutilsPlatformError: Unable to find vcvarsall.bat
Making dir :prebuilt_downloads:
Downloading... https://www.libsdl.org/release/SDL2-devel-2.0.18-VC.zip ed561079ec622b0bab5a9e02976f5d540b0622da
Unzipping :prebuilt_downloads\SDL2-devel-2.0.18-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://www.libsdl.org/projects/SDL_ttf/release/SDL2_ttf-devel-2.0.15-VC.zip 1436df41ebc47ac36e02ec9bda5699e80ff9bd27
Unzipping :prebuilt_downloads\SDL2_ttf-devel-2.0.15-VC.zip:
Downloading... https://www.libsdl.org/projects/SDL_mixer/release/SDL2_mixer-devel-2.0.4-VC.zip 9097148f4529cf19f805ccd007618dec280f0ecc
Unzipping :prebuilt_downloads\SDL2_mixer-devel-2.0.4-VC.zip:
Downloading... https://www.pygame.org/ftp/jpegsr9d.zip ed10aa2b5a0fcfe74f8a6f7611aeb346b06a1f99
Unzipping :prebuilt_downloads\jpegsr9d.zip:
Downloading... https://pygame.org/ftp/prebuilt-x64-pygame-1.9.2-20150922.zip 3a5af3427b3aa13a0aaf5c4cb08daaed341613ed
Unzipping :prebuilt_downloads\prebuilt-x64-pygame-1.9.2-20150922.zip:
copying into .\prebuilt-x64
Path for SDL: prebuilt-x64\SDL2-2.0.18
...Library directory for SDL: prebuilt-x64/SDL2-2.0.18/lib/x64
...Include directory for SDL: prebuilt-x64/SDL2-2.0.18/include
Path for FONT: prebuilt-x64\SDL2_ttf-2.0.15
...Library directory for FONT: prebuilt-x64/SDL2_ttf-2.0.15/lib/x64
...Include directory for FONT: prebuilt-x64/SDL2_ttf-2.0.15/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.0.4
...Library directory for MIXER: prebuilt-x64/SDL2_mixer-2.0.4/lib/x64
...Include directory for MIXER: prebuilt-x64/SDL2_mixer-2.0.4/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.0.18/lib/x64/SDL2.dll
DLL for SDL2_ttf: prebuilt-x64/SDL2_ttf-2.0.15/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.0.4/lib/x64/SDL2_mixer.dll
DLL for portmidi: prebuilt-x64/lib/portmidi.dll
Path for FREETYPE not found.
...Found include dir but no library dir in prebuilt-x64.
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/SDL2_ttf-2.0.15/lib/x64/libfreetype-6.dll
---
For help with compilation see:
https://www.pygame.org/wiki/CompileWindows
To contribute to pygame development see:
https://www.pygame.org/contribute.html
---
[end of output]
note: This error originates from a subprocess, and is likely not a problem with pip.
error: metadata-generation-failed
× Encountered error while generating package metadata.
╰─> See above for output.
note: This is an issue with the package mentioned above, not pip.
hint: See above for details.
WARNING: There was an error checking the latest version of pip.

解决方案:whl安装

  1. 下载pygame安装包

下载地址:

https://www.lfd.uci.edu/~gohlke/pythonlibs/#pygame

我安装的python版本3.11.1,win系统64位。

选择对应版本:pygame‑2.1.2‑cp311‑cp311‑win_amd64.whl

  1. 将安装包放到指定路径后进行安装

C:\Users\xxxxxxx>Python -m pip install --user pygame-2.1.2-cp311-cp311-win_amd64.whl

问题原因和解决思路参考:
https://q.cnblogs.com/q/142229/
dll缺失是关键问题:
这类情况直接whl安装,需要根据python版本选择whl,比如:python3.11,选文件名包含cp311。

二进制安装方式参考:
http://c.biancheng.net/pygame/installer.html

安装前置事项,重装python(这步并非解决问题的关键,只是将前述操作做记录)

  1. 控制面板内与python相关程序都卸载——刚开始只卸载了python程序,后来发现还有一个python launcher的程序未卸载。

  1. 选自定义安装方式,安装路径:C:\Python311,将python放C盘根目录。(多数软件使用问题的通用解决思路)

自定义安装,参考: https://opentechschool.github.io/python-beginners/en/getting_started.html#what-is-python-exactly
Note
On Windows, you’ll want to add Python to your PATH, so it can be found by other programs. With Python 3.5 or later, there should be and option to do this in the installer. Otherwise, you can navigate to your installation directory (C:\Python34\), open the Tools, then Scripts folder, and run the win_add2path.py file by double clicking on it.

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: 当您在安装pygame时,可能会遇到各种误。其中一种常见的误是“pip install pygame”。这可能是由于以下原因之一: 1. 您的计算机上没有安装pygame。 2. 您的计算机上已经安装pygame,但是版本不兼容。 3. 您的计算机上缺少一些必要的依赖项。 为了解决这个问题,您可以尝试以下步骤: 1. 确保您的计算机上已经安装pip。如果没有,请先安装pip。 2. 确认您的计算机上已经安装pygame。如果没有,请使用以下命令安装pygamepip install pygame 3. 如果您已经安装pygame,但是仍然遇到误,请尝试升级pygame到最新版本: pip install --upgrade pygame 4. 如果您仍然遇到误,请检查您的计算机上是否缺少必要的依赖项。您可以在pygame的官方网站上找到这些依赖项,并按照说明进行安装。 希望这些步骤可以帮助您解决pip install pygame”的问题。 ### 回答2: 当我们在使用pip安装Pygame时,有时候会遇到的情况,其中会出现各种不同的误信息,导致无法完成Pygame安装。 下面给大家列出了一些可能出现的误信息以及相应的解决方法: 1. ERROR: Command errored out with exit status 1 这个误信息通常是由于编译器在安装时出了,可以尝试安装Microsoft Visual C++ Build Tools来解决,也可以尝试安装Python的开发环境。 2. ERROR: Could not find a version that satisfies the requirement pygame 这个误信息通常是由于Pygame的版本与Python版本不兼容,需要安装与所使用的Python版本相对应的Pygame版本。 3. ERROR: Command "python setup.py egg_info" failed with error code 1 这个误信息通常是由于Python的setuptools没有安装或版本过老,需要先安装最新版本的setuptools,然后再去安装Pygame。 除此之外,还有一些其他的可能性导致Pygame安装失败的原因,比如系统环境变量不正确,网络连接不稳定等等,需要根据实际情况进行排查处理。 总体来说,解决Pygame安装需要对系统运行环境、Python版本、Pygame版本等方面进行全面分析,然后根据不同情况选择相应的解决方案,以保证Pygame能够正常安装和使用。 ### 回答3: 首先需要强调的是,pip install pygame问题可归为两类:环境问题和版本问题。 1. 环境问题 常见的pip install pygame问题大多是由于环境问题引起的。例如,缺少相关的依赖库、python版本不兼容等等。 解决此类问题需要针对性地查找误信息,根据误原因指导调整相关环境。下面我们列举两种典型的误信息及对应解决方案误信息一:ERROR: Failed building wheel for pygame 原因分析:由于缺失相关依赖库或未安装wheel,导致pip无法为pygame构建wheel,因而出现此解决方案: ① 安装wheel:使用pip install wheel 命令安装wheel。 ② 安装相关依赖库:根据误信息提示,安装相关的依赖库。比如,apt-get install python3-dev 针对的就是出现pygame安装误时缺少python3-dev依赖库的情况。 误信息二:ERROR: pygame-1.9.1release-candidate.win32-py3.2.msi is not a supported wheel on this platform 原因分析:此类大多是因为python版本不支持所要安装pygame版本,导致无法安装成功。 解决方案: ① 升级python版本:安装pygame兼容的最新python版本。 ② 安装对应pygame版本:找到支持当前python版本的pygame版本,并安装。 2. 版本问题 另外,部分pip install pygame也与版本问题有关。一些较老的pygame版本可能已经无法兼容当前python环境,因此需要进行升级或换用新版本。 解决方案: 可以到官网下载最新的pygame版本,或查找其他可用的pygame版本进行安装,以解决版本兼容问题。 总之,pip install pygame问题是一种常见的python开发问题,我们应该注重查找误信息并根据具体情况灵活处理,从而确保pygame包顺利安装
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值