Pygame 在 Windows 10 上使用 pip install pygame 失败

1 python pygame pip windows-10 python-3.8

我在将 Pygame 安装到 python 时失败。我尝试了多种解决方法但没有成功。包括使用与 PiP 相同的不同选项路径模式重新安装 python,包括升级和路径选项。

我现在该怎么办?

Python 3.8.0a1 (tags/v3.8.0a1:e75eeb00b5, Feb  3 2019, 19:46:54) [MSC v.1916 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license()" for more information.
>>>
C:\Users\brog\Downloads>pip install pygame
Collecting pygame
  Using cached https://files.pythonhosted.org/packages/b2/6b/c510f0853765eb2219ca5aa3d416d65bb0dea7cd9bb2984aea0a0e04c24d/pygame-1.9.4.tar.gz
    Complete output from command python setup.py egg_info:


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

    Path for SDL not found.
    Too bad that is a requirement! Hand-fix the "Setup"
    Path for FONT not found.
    Path for IMAGE not found.
    Path for MIXER not found.
    Path for PNG not found.
    Path for JPEG not found.
    Path for PORTMIDI not found.
    Path for COPYLIB_tiff not found.
    Path for COPYLIB_z not found.
    Path for COPYLIB_vorbis not found.
    Path for COPYLIB_ogg not found.

    If you get compiler errors during install, doublecheck
    the compiler flags in the "Setup" file.


    Continuing With "setup.py"
    Error with the "Setup" file,
    perhaps make a clean copy from "Setup.in".
    ---
    For help with compilation see:
        https://www.pygame.org/wiki/CompileWindows
    To contribute to pygame development see:
        https://www.pygame.org/contribute.html
    ---
    C:\Users\brog\AppData\Local\Temp\pip-install-3177swfa\pygame\setup.py:321: SyntaxWarning: invalid escape sequence \d
      return ', '.join(s for s in findall('\d+', ver)[0:3])
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "C:\Users\brog\AppData\Local\Temp\pip-install-3177swfa\pygame\setup.py", line 203, in <module>
        extensions = read_setup_file('Setup')
      File "c:\users\brog\appdata\local\programs\python\python38-32\lib\distutils\extension.py", line 171, in read_setup_file
        line = expand_makefile_vars(line, vars)
      File "c:\users\brog\appdata\local\programs\python\python38-32\lib\distutils\sysconfig.py", line 405, in expand_makefile_vars
        s = s[0:beg] + vars.get(m.group(1)) + s[end:]
    TypeError: can only concatenate str (not "NoneType") to str

    ----------------------------------------
Command "python setup.py egg_info" failed with error code 1 in C:\Users\brog\AppData\Local\Temp\pip-install-3177swfa\pygame\

C:\Users\brog\Downloads>
Run Code Online (Sandbox Code Playgroud)

Wee*_*ble 5

您使用的是仍在开发中的 Python 3.8。因此,PyPI 上的包没有预先构建的“轮子”(https://pypi.org/project/Pygame/#files),因此 pip 尝试从源代码构建。从源代码构建可能是一个复杂的过程,因为必须确保提供合适的编译器和所有非 Python 依赖项。这里有从源代码构建的说明: https: //www.pygame.org/wiki/CompileWindows但请记住,如果构建过程确实出现问题,您可能很难找到帮助,因为您正在使用Python 的开发版本。

我想说你的选择是:

  • 如果可以的话,请使用 Python 3.7。安装 pygame 应该容易得多。
  • 坚持使用 Python 3.8 并按照此处的说明进行操作: https: //www.pygame.org/wiki/CompileWindows如果仍然失败,请尝试提出一个更具体的问题,解释您遵循了哪些说明步骤。