0

I've been having an issue with installing packages in Python. It only started a few days ago - programs will run fine, but whenever I try running pip install Pillow or pip install pygame (been testing out various libraries for graphics) I always run into the same error.

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
  ╰─> [70 lines of output]


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

      Traceback (most recent call last):
        File "C:\msys64\mingw64\lib\python3.9\urllib\request.py", line 1346, in do_open
          h.request(req.get_method(), req.selector, req.data, headers,
        File "C:\msys64\mingw64\lib\python3.9\http\client.py", line 1285, in request
          self._send_request(method, url, body, headers, encode_chunked)
        File "C:\msys64\mingw64\lib\python3.9\http\client.py", line 1331, in _send_request
          self.endheaders(body, encode_chunked=encode_chunked)
        File "C:\msys64\mingw64\lib\python3.9\http\client.py", line 1280, in endheaders
          self._send_output(message_body, encode_chunked=encode_chunked)
        File "C:\msys64\mingw64\lib\python3.9\http\client.py", line 1040, in _send_output
          self.send(msg)
        File "C:\msys64\mingw64\lib\python3.9\http\client.py", line 980, in send
          self.connect()
        File "C:\msys64\mingw64\lib\python3.9\http\client.py", line 1454, in connect
          self.sock = self._context.wrap_socket(self.sock,
        File "C:\msys64\mingw64\lib\python3.9\ssl.py", line 500, in wrap_socket
          return self.sslsocket_class._create(
        File "C:\msys64\mingw64\lib\python3.9\ssl.py", line 1040, in _create
          self.do_handshake()
        File "C:\msys64\mingw64\lib\python3.9\ssl.py", line 1309, in do_handshake
          self._sslobj.do_handshake()
      ssl.SSLCertVerificationError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1129)

      During handling of the above exception, another exception occurred:

      Traceback (most recent call last):
        File "<string>", line 2, in <module>
        File "<pip-setuptools-caller>", line 34, in <module>
        File "C:\Users\ronit\AppData\Local\Temp\pip-install-j1yeb0r5\pygame_2f7b886e356f433a8184f298ab684d13\setup.py", line 359, in <module>
          buildconfig.config.main(AUTO_CONFIG)
        File "C:\Users\ronit\AppData\Local\Temp\pip-install-j1yeb0r5\pygame_2f7b886e356f433a8184f298ab684d13\buildconfig\config.py", line 225, in main
          deps = CFG.main(**kwds)
        File "C:\Users\ronit\AppData\Local\Temp\pip-install-j1yeb0r5\pygame_2f7b886e356f433a8184f298ab684d13\buildconfig\config_win.py", line 497, in main
          and download_win_prebuilt.ask(**download_kwargs):
        File "C:\Users\ronit\AppData\Local\Temp\pip-install-j1yeb0r5\pygame_2f7b886e356f433a8184f298ab684d13\buildconfig\download_win_prebuilt.py", line 290, in ask
          update(x86=x86, x64=x64)
        File "C:\Users\ronit\AppData\Local\Temp\pip-install-j1yeb0r5\pygame_2f7b886e356f433a8184f298ab684d13\buildconfig\download_win_prebuilt.py", line 273, in update
          download_prebuilts(download_dir, x86=x86, x64=x64)
        File "C:\Users\ronit\AppData\Local\Temp\pip-install-j1yeb0r5\pygame_2f7b886e356f433a8184f298ab684d13\buildconfig\download_win_prebuilt.py", line 124, in download_prebuilts
          download_sha1_unzip(url, checksum, temp_dir, 1)
        File "C:\Users\ronit\AppData\Local\Temp\pip-install-j1yeb0r5\pygame_2f7b886e356f433a8184f298ab684d13\buildconfig\download_win_prebuilt.py", line 54, in download_sha1_unzip
          response = urllib.urlopen(request).read()
        File "C:\msys64\mingw64\lib\python3.9\urllib\request.py", line 214, in urlopen
          return opener.open(url, data, timeout)
        File "C:\msys64\mingw64\lib\python3.9\urllib\request.py", line 517, in open
          response = self._open(req, data)
        File "C:\msys64\mingw64\lib\python3.9\urllib\request.py", line 534, in _open
          result = self._call_chain(self.handle_open, protocol, protocol +
        File "C:\msys64\mingw64\lib\python3.9\urllib\request.py", line 494, in _call_chain
          result = func(*args)
        File "C:\msys64\mingw64\lib\python3.9\urllib\request.py", line 1389, in https_open
          return self.do_open(http.client.HTTPSConnection, req,
        File "C:\msys64\mingw64\lib\python3.9\urllib\request.py", line 1349, in do_open
          raise URLError(err)
      urllib.error.URLError: <urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1129)>
      Making dir :prebuilt_downloads:
      Downloading... https://www.libsdl.org/release/SDL2-devel-2.0.18-VC.zip ed561079ec622b0bab5a9e02976f5d540b0622da

      ---
      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.

I've tried upgrading pip, downgrading pip, installing a new version of Python, and I've tried an assortment of variations to the install command to get it to work. Trying to upgrade the certificate changed the error to this.

WARNING: Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1129)'))': /simple/pygame/
WARNING: Retrying (Retry(total=3, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1129)'))': /simple/pygame/
WARNING: Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1129)'))': /simple/pygame/
WARNING: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1129)'))': /simple/pygame/
WARNING: Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1129)'))': /simple/pygame/
Could not fetch URL https://pypi.org/simple/pygame/: There was a problem confirming the ssl certificate: HTTPSConnectionPool(host='pypi.org', port=443): Max retries exceeded with url: /simple/pygame/ (Caused by SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1129)'))) - skipping
ERROR: Could not find a version that satisfies the requirement pygame (from versions: none)
ERROR: No matching distribution found for pygame

The solutions I find online seem to be oriented towards Mac, and I'm running Windows. I don't understand where the issue is happening, because Python programs are running perfectly fine (I've tried on both VSC and PyCharm, and there doesn't seem to be any issues). How do I go about resolving this?

Edit The question may seem similar to others, but I have tried the solutions related to pip install and none of them have worked. The question regarding proxies does not apply in this scenario. The issue does not have anything to do with Python code itself.

Edit 2: Resolution Resolved the issue. Had to uninstall pretty much everything, remove Python 3.9 and pip from the mingw64 folder and then use a fresh non-mingw version of pip - that seems to have resolved it. No idea why that fixed it, because I was able to install tkinter just fine, so if anybody's able to shed light on it that would be really helpful because I cannot for the life of me understand what was going wrong. I know now though, with programming, uninstall/reinstall always works.

Ronit Danti
  • 33
  • 1
  • 9

1 Answers1

0

I do not know the exact situation but can you try

pip install pip-system-certs
Rajib
  • 36
  • 4
  • Tried that, now it brings up a new series of errors. I'll add it as an edit to the question since it's another long log. – Ronit Danti Dec 30 '22 at 04:50