Python pygame 未安装

mat*_*att 17 python pygame

C:\\Users\\matth>pip3 install pygame\n收集 pygame\n使用缓存的 pygame-2.1.2.tar.gz (10.1 MB)\n准备元数据 (setup.py) ... 错误\n错误:子进程退出-有错误

\n

\xc3\x97 python setup.py Egg_info 未成功运行。\n\xe2\x94\x82 退出代码: 1\n\xe2\x95\xb0\xe2\x94\x80> [80 行输出]

\n
  WARNING, No "Setup" File Exists, Running "buildconfig/config.py"\n  Using WINDOWS configuration...\n\n  Traceback (most recent call last):\n    File "C:\\Program Files\\WindowsApps\\PythonSoftwareFoundation.Python.3.11_3.11.193.0_x64__qbz5n2kfra8p0\\Lib\\urllib\\request.py", line 1348, in do_open\n      h.request(req.get_method(), req.selector, req.data, headers,\n    File "C:\\Program Files\\WindowsApps\\PythonSoftwareFoundation.Python.3.11_3.11.193.0_x64__qbz5n2kfra8p0\\Lib\\http\\client.py", line 1282, in request\n      self._send_request(method, url, body, headers, encode_chunked)\n    File "C:\\Program Files\\WindowsApps\\PythonSoftwareFoundation.Python.3.11_3.11.193.0_x64__qbz5n2kfra8p0\\Lib\\http\\client.py", line 1328, in _send_request\n      self.endheaders(body, encode_chunked=encode_chunked)\n    File "C:\\Program Files\\WindowsApps\\PythonSoftwareFoundation.Python.3.11_3.11.193.0_x64__qbz5n2kfra8p0\\Lib\\http\\client.py", line 1277, in endheaders\n      self._send_output(message_body, encode_chunked=encode_chunked)\n    File "C:\\Program Files\\WindowsApps\\PythonSoftwareFoundation.Python.3.11_3.11.193.0_x64__qbz5n2kfra8p0\\Lib\\http\\client.py", line 1037, in _send_output\n      self.send(msg)\n    File "C:\\Program Files\\WindowsApps\\PythonSoftwareFoundation.Python.3.11_3.11.193.0_x64__qbz5n2kfra8p0\\Lib\\http\\client.py", line 975, in send\n      self.connect()\n    File "C:\\Program Files\\WindowsApps\\PythonSoftwareFoundation.Python.3.11_3.11.193.0_x64__qbz5n2kfra8p0\\Lib\\http\\client.py", line 1454, in connect\n      self.sock = self._context.wrap_socket(self.sock,\n                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n    File "C:\\Program Files\\WindowsApps\\PythonSoftwareFoundation.Python.3.11_3.11.193.0_x64__qbz5n2kfra8p0\\Lib\\ssl.py", line 517, in wrap_socket\n      return self.sslsocket_class._create(\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n    File "C:\\Program Files\\WindowsApps\\PythonSoftwareFoundation.Python.3.11_3.11.193.0_x64__qbz5n2kfra8p0\\Lib\\ssl.py", line 1075, in _create\n      self.do_handshake()\n    File "C:\\Program Files\\WindowsApps\\PythonSoftwareFoundation.Python.3.11_3.11.193.0_x64__qbz5n2kfra8p0\\Lib\\ssl.py", line 1346, in do_handshake\n      self._sslobj.do_handshake()\n  ssl.SSLCertVerificationError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: certificate has expired (_ssl.c:992)\n\n  During handling of the above exception, another exception occurred:\n\n  Traceback (most recent call last):\n    File "<string>", line 2, in <module>\n    File "<pip-setuptools-caller>", line 34, in <module>\n    File "C:\\Users\\matth\\AppData\\Local\\Temp\\pip-install-g18yr5c2\\pygame_2c1b94c764cc404881a71cf0ac51d63e\\setup.py", line 359, in <module>\n      buildconfig.config.main(AUTO_CONFIG)\n    File "C:\\Users\\matth\\AppData\\Local\\Temp\\pip-install-g18yr5c2\\pygame_2c1b94c764cc404881a71cf0ac51d63e\\buildconfig\\config.py", line 225, in main\n      deps = CFG.main(**kwds)\n             ^^^^^^^^^^^^^^^^\n    File "C:\\Users\\matth\\AppData\\Local\\Temp\\pip-install-g18yr5c2\\pygame_2c1b94c764cc404881a71cf0ac51d63e\\buildconfig\\config_win.py", line 497, in main\n      and download_win_prebuilt.ask(**download_kwargs):\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n    File "C:\\Users\\matth\\AppData\\Local\\Temp\\pip-install-g18yr5c2\\pygame_2c1b94c764cc404881a71cf0ac51d63e\\buildconfig\\download_win_prebuilt.py", line 290, in ask\n      update(x86=x86, x64=x64)\n    File "C:\\Users\\matth\\AppData\\Local\\Temp\\pip-install-g18yr5c2\\pygame_2c1b94c764cc404881a71cf0ac51d63e\\buildconfig\\download_win_prebuilt.py", line 273, in update\n      download_prebuilts(download_dir, x86=x86, x64=x64)\n    File "C:\\Users\\matth\\AppData\\Local\\Temp\\pip-install-g18yr5c2\\pygame_2c1b94c764cc404881a71cf0ac51d63e\\buildconfig\\download_win_prebuilt.py", line 124, in download_prebuilts\n      download_sha1_unzip(url, checksum, temp_dir, 1)\n    File "C:\\Users\\matth\\AppData\\Local\\Temp\\pip-install-g18yr5c2\\pygame_2c1b94c764cc404881a71cf0ac51d63e\\buildconfig\\download_win_prebuilt.py", line 54, in download_sha1_unzip\n      response = urllib.urlopen(request).read()\n                 ^^^^^^^^^^^^^^^^^^^^^^^\n    File "C:\\Program Files\\WindowsApps\\PythonSoftwareFoundation.Python.3.11_3.11.193.0_x64__qbz5n2kfra8p0\\Lib\\urllib\\request.py", line 216, in urlopen\n      return opener.open(url, data, timeout)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n    File "C:\\Program Files\\WindowsApps\\PythonSoftwareFoundation.Python.3.11_3.11.193.0_x64__qbz5n2kfra8p0\\Lib\\urllib\\request.py", line 519, in open\n      response = self._open(req, data)\n                 ^^^^^^^^^^^^^^^^^^^^^\n    File "C:\\Program Files\\WindowsApps\\PythonSoftwareFoundation.Python.3.11_3.11.193.0_x64__qbz5n2kfra8p0\\Lib\\urllib\\request.py", line 536, in _open\n      result = self._call_chain(self.handle_open, protocol, protocol +\n               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n    File "C:\\Program Files\\WindowsApps\\PythonSoftwareFoundation.Python.3.11_3.11.193.0_x64__qbz5n2kfra8p0\\Lib\\urllib\\request.py", line 496, in _call_chain\n      result = func(*args)\n               ^^^^^^^^^^^\n    File "C:\\Program Files\\WindowsApps\\PythonSoftwareFoundation.Python.3.11_3.11.193.0_x64__qbz5n2kfra8p0\\Lib\\urllib\\request.py", line 1391, in https_open\n      return self.do_open(http.client.HTTPSConnection, req,\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n    File "C:\\Program Files\\WindowsApps\\PythonSoftwareFoundation.Python.3.11_3.11.193.0_x64__qbz5n2kfra8p0\\Lib\\urllib\\request.py", line 1351, in do_open\n      raise URLError(err)\n  urllib.error.URLError: <urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: certificate has expired (_ssl.c:992)>\n  Making dir :prebuilt_downloads:\n  Downloading... https://www.libsdl.org/release/SDL2-devel-2.0.18-VC.zip ed561079ec622b0bab5a9e02976f5d540b0622da\n\n  ---\n  For help with compilation see:\n      https://www.pygame.org/wiki/CompileWindows\n  To contribute to pygame development see:\n      https://www.pygame.org/contribute.html\n  ---\n\n  [end of output]\n
Run Code Online (Sandbox Code Playgroud)\n

注意:此错误源自子进程,并且可能不是 pip 的问题。\n错误:元数据生成失败

\n

\xc3\x97 生成包元数据时遇到错误。\n\xe2\x95\xb0\xe2\x94\x80> 请参阅上面的输出。

\n

注意:这是上面提到的包的问题,​​而不是 pip。\n提示:有关详细信息,请参阅上文。

\n

Sta*_*ck5 43

新答案(2023 年 2 月)

pip install pygame-ce ^ pygame-ce(pygame 社区版)是由许多 pygame 贡献者创建的 pygame 的现代分支,支持开箱即用的 3.11,最近刚刚推出。请参阅https://github.com/pygame-community/pygame-ce/tree/main

简短回答

pip install pygame --pre由于您的 Python 版本,现在有必要

长答案

您的回溯显示您正在使用今天早些时候刚刚发布的 Python 3.11。Pygame 是一个“C 扩展”,需要为每个新的 Python 次要版本(3.9、3.10、3.11 等)使用新的“轮子”(二进制文件)重新发布自身。

最新的“完整”pygame 版本 2.1.2 发布不久,并且没有提供 3.11 的轮子,因此您的系统尝试从源代码构建 pygame。它无法这样做,因为您没有设置 pygame 开发环境。

然而,最新的 pygame 预发行版 2.1.3.dev8(最近发布)有 3.11 的轮子,因此您的系统不需要从源代码编译 pygame。

一旦 pygame 2.1.3 发布,这个额外的标志(告诉它寻找预发布版本)就不再需要了。


小智 5

如果你用的是诗歌。请执行下列操作:

poetry add pygame=2.1.3.dev8
Run Code Online (Sandbox Code Playgroud)

如果您使用的是点子。请执行下列操作:

pip install pygame --pre
Run Code Online (Sandbox Code Playgroud)