当前位置:   article > 正文

[Python]pip install pygame安装报错解决方案_preparing metadata (setup.py) ... error

preparing metadata (setup.py) ... error

pip install pygame报错提示:

  1. Microsoft Windows [版本 10.0.17763.3165]
  2. (c) 2018 Microsoft Corporation。保留所有权利。
  3. C:\Users\xxxxxxx>pip install pygame
  4. Collecting pygame
  5. Using cached pygame-2.1.2.tar.gz (10.1 MB)
  6. Preparing metadata (setup.py) ... error
  7. error: subprocess-exited-with-error
  8. × python setup.py egg_info did not run successfully.
  9. │ exit code: 1
  10. ╰─> [77 lines of output]
  11. WARNING, No "Setup" File Exists, Running "buildconfig/config.py"
  12. Using WINDOWS configuration...
  13. Traceback (most recent call last):
  14. File "<string>", line 2, in <module>
  15. File "<pip-setuptools-caller>", line 34, in <module>
  16. File "C:\Users\xxxxxxx\AppData\Local\Temp\pip-install-zqq3q3ot\pygame_1748e02cad70437b8b99abf25c9b1b20\setup.py", line 359, in <module>
  17. buildconfig.config.main(AUTO_CONFIG)
  18. File "C:\Users\xxxxxxx\AppData\Local\Temp\pip-install-zqq3q3ot\pygame_1748e02cad70437b8b99abf25c9b1b20\buildconfig\config.py", line 225, in main
  19. deps = CFG.main(**kwds)
  20. ^^^^^^^^^^^^^^^^
  21. File "C:\Users\xxxxxxx\AppData\Local\Temp\pip-install-zqq3q3ot\pygame_1748e02cad70437b8b99abf25c9b1b20\buildconfig\config_win.py", line 511, in main
  22. return setup_prebuilt_sdl2(prebuilt_dir)
  23. ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  24. File "C:\Users\xxxxxxx\AppData\Local\Temp\pip-install-zqq3q3ot\pygame_1748e02cad70437b8b99abf25c9b1b20\buildconfig\config_win.py", line 471, in setup_prebuilt_sdl2
  25. DEPS.configure()
  26. File "C:\Users\xxxxxxx\AppData\Local\Temp\pip-install-zqq3q3ot\pygame_1748e02cad70437b8b99abf25c9b1b20\buildconfig\config_win.py", line 336, in configure
  27. from . import vstools
  28. File "C:\Users\xxxxxxx\AppData\Local\Temp\pip-install-zqq3q3ot\pygame_1748e02cad70437b8b99abf25c9b1b20\buildconfig\vstools.py", line 11, in <module>
  29. compiler.initialize()
  30. File "C:\Python311\Lib\site-packages\setuptools\_distutils\msvc9compiler.py", line 403, in initialize
  31. vc_env = query_vcvarsall(VERSION, plat_spec)
  32. ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  33. File "C:\Python311\Lib\site-packages\setuptools\_distutils\msvc9compiler.py", line 281, in query_vcvarsall
  34. raise DistutilsPlatformError("Unable to find vcvarsall.bat")
  35. distutils.errors.DistutilsPlatformError: Unable to find vcvarsall.bat
  36. Making dir :prebuilt_downloads:
  37. Downloading... https://www.libsdl.org/release/SDL2-devel-2.0.18-VC.zip ed561079ec622b0bab5a9e02976f5d540b0622da
  38. Unzipping :prebuilt_downloads\SDL2-devel-2.0.18-VC.zip:
  39. Downloading... https://www.libsdl.org/projects/SDL_image/release/SDL2_image-devel-2.0.5-VC.zip 137f86474691f4e12e76e07d58d5920c8d844d5b
  40. Unzipping :prebuilt_downloads\SDL2_image-devel-2.0.5-VC.zip:
  41. Downloading... https://www.libsdl.org/projects/SDL_ttf/release/SDL2_ttf-devel-2.0.15-VC.zip 1436df41ebc47ac36e02ec9bda5699e80ff9bd27
  42. Unzipping :prebuilt_downloads\SDL2_ttf-devel-2.0.15-VC.zip:
  43. Downloading... https://www.libsdl.org/projects/SDL_mixer/release/SDL2_mixer-devel-2.0.4-VC.zip 9097148f4529cf19f805ccd007618dec280f0ecc
  44. Unzipping :prebuilt_downloads\SDL2_mixer-devel-2.0.4-VC.zip:
  45. Downloading... https://www.pygame.org/ftp/jpegsr9d.zip ed10aa2b5a0fcfe74f8a6f7611aeb346b06a1f99
  46. Unzipping :prebuilt_downloads\jpegsr9d.zip:
  47. Downloading... https://pygame.org/ftp/prebuilt-x64-pygame-1.9.2-20150922.zip 3a5af3427b3aa13a0aaf5c4cb08daaed341613ed
  48. Unzipping :prebuilt_downloads\prebuilt-x64-pygame-1.9.2-20150922.zip:
  49. copying into .\prebuilt-x64
  50. Path for SDL: prebuilt-x64\SDL2-2.0.18
  51. ...Library directory for SDL: prebuilt-x64/SDL2-2.0.18/lib/x64
  52. ...Include directory for SDL: prebuilt-x64/SDL2-2.0.18/include
  53. Path for FONT: prebuilt-x64\SDL2_ttf-2.0.15
  54. ...Library directory for FONT: prebuilt-x64/SDL2_ttf-2.0.15/lib/x64
  55. ...Include directory for FONT: prebuilt-x64/SDL2_ttf-2.0.15/include
  56. Path for IMAGE: prebuilt-x64\SDL2_image-2.0.5
  57. ...Library directory for IMAGE: prebuilt-x64/SDL2_image-2.0.5/lib/x64
  58. ...Include directory for IMAGE: prebuilt-x64/SDL2_image-2.0.5/include
  59. Path for MIXER: prebuilt-x64\SDL2_mixer-2.0.4
  60. ...Library directory for MIXER: prebuilt-x64/SDL2_mixer-2.0.4/lib/x64
  61. ...Include directory for MIXER: prebuilt-x64/SDL2_mixer-2.0.4/include
  62. Path for PORTMIDI: prebuilt-x64
  63. ...Library directory for PORTMIDI: prebuilt-x64/lib
  64. ...Include directory for PORTMIDI: prebuilt-x64/include
  65. DLL for SDL2: prebuilt-x64/SDL2-2.0.18/lib/x64/SDL2.dll
  66. DLL for SDL2_ttf: prebuilt-x64/SDL2_ttf-2.0.15/lib/x64/SDL2_ttf.dll
  67. DLL for SDL2_image: prebuilt-x64/SDL2_image-2.0.5/lib/x64/SDL2_image.dll
  68. DLL for SDL2_mixer: prebuilt-x64/SDL2_mixer-2.0.4/lib/x64/SDL2_mixer.dll
  69. DLL for portmidi: prebuilt-x64/lib/portmidi.dll
  70. Path for FREETYPE not found.
  71. ...Found include dir but no library dir in prebuilt-x64.
  72. Path for PNG not found.
  73. ...Found include dir but no library dir in prebuilt-x64.
  74. Path for JPEG not found.
  75. ...Found include dir but no library dir in prebuilt-x64.
  76. DLL for freetype: prebuilt-x64/SDL2_ttf-2.0.15/lib/x64/libfreetype-6.dll
  77. ---
  78. For help with compilation see:
  79. https://www.pygame.org/wiki/CompileWindows
  80. To contribute to pygame development see:
  81. https://www.pygame.org/contribute.html
  82. ---
  83. [end of output]
  84. note: This error originates from a subprocess, and is likely not a problem with pip.
  85. error: metadata-generation-failed
  86. × Encountered error while generating package metadata.
  87. ╰─> See above for output.
  88. note: This is an issue with the package mentioned above, not pip.
  89. hint: See above for details.
  90. 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.

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/爱喝兽奶帝天荒/article/detail/862001
推荐阅读
相关标签
  

闽ICP备14008679号