-
Notifications
You must be signed in to change notification settings - Fork 3.1k
Description
Description
I installed the official Python 3.13.5 on a computer with Windows 10 Enterprise (22H2). I tried the following command:
python -m pip install permutation
I get the following output:
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:1028)'))': /simple/permutation/
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:1028)'))': /simple/permutation/
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:1028)'))': /simple/permutation/
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:1028)'))': /simple/permutation/
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:1028)'))': /simple/permutation/
Could not fetch URL https://pypi.org/simple/permutation/: There was a problem confirming the ssl certificate: HTTPSConnectionPool(host='pypi.org', port=443): Max retries exceeded with url: /simple/permutation/ (Caused by SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1028)'))) - skipping
ERROR: Could not find a version that satisfies the requirement permutation (from versions: none)
Could not fetch URL https://pypi.org/simple/pip/: There was a problem confirming the ssl certificate: HTTPSConnectionPool(host='pypi.org', port=443): Max retries exceeded with url: /simple/pip/ (Caused by SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1028)'))) - skipping
ERROR: No matching distribution found for permutation
It turns out that the root certificate of pypi.org (GlobalSign Root CA - R3) wasn't installed on the machine. Installing it on the machine fixed the issue; adding the option --use-deprecated=legacy-certs
to the pip command also worked (I uninstalled the certificate again to test this).
I want to add that access to the Internet for the affected computer goes through a proxy, so HTTPS_PROXY is set, just in case this somehow contributes to the problem.
Expected behavior
From reading the release notes for 24.2 (and looking at the source code as well) I got the assumption that the certificates from certifi are checked in addition to the ones from the system store, so the root certificate for pypi.org doesn't need to be installed. Am I wrong?
pip version
25.1.1
Python version
3.13.5
OS
Windows 10 Enterprise (22H2)
How to Reproduce
Uninstall the root certificate with the Friendly Name "GlobalSign Root CA - R3" from the Windows certificate store (all locations, in both the user and system stores).
Then try to install any package from pypi.org.
Output
See above.
Code of Conduct
- I agree to follow the PSF Code of Conduct.