yannm
yannm

Reputation: 501

'SSLError' installing with pip

I'm trying to install Django on a Windows 10 system.

Whatever I try to install with pip on cmd, I get these errors:

Collecting django
  Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError(SSLError(1, '[SSL: WRONG_VERSION_NUMBER] wrong version number (_ssl.c:1056)'))': /simple/django/
  Retrying (Retry(total=3, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError(SSLError(1, '[SSL: WRONG_VERSION_NUMBER] wrong version number (_ssl.c:1056)'))': /simple/django/
  Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError(SSLError(1, '[SSL: WRONG_VERSION_NUMBER] wrong version number (_ssl.c:1056)'))': /simple/django/
  Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError(SSLError(1, '[SSL: WRONG_VERSION_NUMBER] wrong version number (_ssl.c:1056)'))': /simple/django/
  Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError(SSLError(1, '[SSL: WRONG_VERSION_NUMBER] wrong version number (_ssl.c:1056)'))': /simple/django/
  Could not fetch URL https://pypi.org/simple/django/: There was a problem confirming the ssl certificate: HTTPSConnectionPool(host='pypi.org', port=443): Max retries exceeded with url: /simple/django/ (Caused by SSLError(SSLError(1, '[SSL: WRONG_VERSION_NUMBER] wrong version number (_ssl.c:1056)'))) - skipping
  Could not find a version that satisfies the requirement django (from versions: )
No matching distribution found for django
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(SSLError(1, '[SSL: WRONG_VERSION_NUMBER] wrong version number (_ssl.c:1056)'))) - skipping

I've tried a lot of things from other questions but none is working.

pip install --upgrade pip --trusted-host pypi.org --trusted-host files.pythonhosted.org

pip install --trusted-host pypi.python.org --trusted-host files.pythonhosted.org --trusted-host pypi.org django

Upvotes: 27

Views: 68425

Answers (6)

tayyab
tayyab

Reputation: 98

Try finding and removing OpenSSL (OS level installation), if it's installed on your system.

In my case, I installed OpenSSL on Windows 10 (for some other development tasks) long time ago and forgot about it, which was the main culprit. I uninstalled it, and it solved the issue.

Upvotes: 0

Roy van Santen
Roy van Santen

Reputation: 2691

Setting up my proxy correctly fixed this for me as well. The problem was that I used the https protocol for my HTTPS_PROXY and https_proxy environment variables.

Use:

HTTPS_PROXY="http://username:[email protected]:8080"
https_proxy="http://username:[email protected]:8080"

Do not use:

HTTPS_PROXY="https://username:[email protected]:8080"
https_proxy="https://username:[email protected]:8080"

Upvotes: 60

pouya
pouya

Reputation: 3766

For me it was the system proxy. The trusted-host flag, to my knowledge, is used when pip wants to query an insecure http index and pip defaults to query only SSL secured indexes.

Upvotes: 0

Mark
Mark

Reputation: 424

My pip was working fine (Windows 7 and Python 3.8.6) until I upgraded pip from version 20.2.1 to 20.3.1, after which I also got the error:

SSL: WRONG_VERSION_NUMBER error.

This is reproducible. I uninstalled and reinstalled several times to confirm.

Solution (well, workaround): don't upgrade pip to 20.3.1.

Note: pip 20.3.1 works fine in my Windows 7/Python 3.9.1 environment.

Upvotes: 12

yannm
yannm

Reputation: 501

I asked a colleague who automatically knew what to do. I just had to set the proxy variables:

set https_proxy=http://username:[email protected]:8080
set http_proxy=http://username:[email protected]:8080

and it works.

Upvotes: 11

Rin Nguyen
Rin Nguyen

Reputation: 455

Check your proxy setting. You can use this command

pip install <package> --trusted-host pypi.org --trusted-host files.pythonhosted.org --proxy="<IP>:<port>"

Upvotes: 4

Related Questions