Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

WARNING: pip is configured with locations that require TLS/SSL, however the ssl module in Python is not available [duplicate]

I would like to use Python3.8.x on Google Cloud Compute Engine.

First, I created an instance with gcloud command.

gcloud compute instances create \
  pegasus-test \
  --zone=asia-northeast1-b \
  --machine-type=n1-highmem-8 \
  --boot-disk-size=500GB \
  --image-project=ml-images \
  --image-family=tf-1-15 \
  --maintenance-policy TERMINATE --restart-on-failure

In default, Python version is 3.5.3.

python3 -V
Python 3.5.3

Therefore, I upgraded Python. I followed this instruction. (google cloud compute engine change to python 3.6)

cd /tmp
wget https://www.python.org/ftp/python/3.8.3/Python-3.8.3.tgz
tar -xvf Python-3.8.3.tgz
cd Python-3.8.3
./configure
sudo apt-get install zlib1g-dev
sudo make
sudo make install

I got no error message. Now, I have Python3.8.3.

python3 -V
Python 3.8.3

Next, I would like to use PEGASUS. (https://github.com/google-research/pegasus)

git clone https://github.com/google-research/pegasus
cd pegasus
export PYTHONPATH=.
pip3 install -r requirements.txt

Then, I got an error message.

WARNING: pip is configured with locations that require TLS/SSL, however the ssl module in Python is not available.
Collecting absl-py (from -r requirements.txt (line 1))
  WARNING: Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError("
Can't connect to HTTPS URL because the SSL module is not available.")': /simple/absl-py/
  WARNING: Retrying (Retry(total=3, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError("
Can't connect to HTTPS URL because the SSL module is not available.")': /simple/absl-py/
  WARNING: Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError("
Can't connect to HTTPS URL because the SSL module is not available.")': /simple/absl-py/
  WARNING: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError("
Can't connect to HTTPS URL because the SSL module is not available.")': /simple/absl-py/
  WARNING: Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError("
Can't connect to HTTPS URL because the SSL module is not available.")': /simple/absl-py/
  Could not fetch URL https://pypi.org/simple/absl-py/: There was a problem confirming the ssl certificate: HTTPSConnectionPool(
host='pypi.org', port=443): Max retries exceeded with url: /simple/absl-py/ (Caused by SSLError("Can't connect to HTTPS URL beca
use the SSL module is not available.")) - skipping
  ERROR: Could not find a version that satisfies the requirement absl-py (from -r requirements.txt (line 1)) (from versions: non
e)
ERROR: No matching distribution found for absl-py (from -r requirements.txt (line 1))
WARNING: pip is configured with locations that require TLS/SSL, however the ssl module in Python is not available.
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("Can't connect to HTTPS URL because the SS
L module is not available.")) - skipping

I checked pip's version.

pip3 -V
pip 19.2.3 from /usr/local/lib/python3.8/site-packages/pip (python 3.8)

So, I tried to upgrade pip. pip3 install --upgrade pip Then, I got this error message.

WARNING: pip is configured with locations that require TLS/SSL, however the ssl module in Python is not available.
WARNING: Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError("Ca
n't connect to HTTPS URL because the SSL module is not available.")': /simple/pip/
WARNING: Retrying (Retry(total=3, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError("Ca
n't connect to HTTPS URL because the SSL module is not available.")': /simple/pip/
WARNING: Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError("Ca
n't connect to HTTPS URL because the SSL module is not available.")': /simple/pip/
WARNING: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError("Ca
n't connect to HTTPS URL because the SSL module is not available.")': /simple/pip/
WARNING: Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError("Ca
n't connect to HTTPS URL because the SSL module is not available.")': /simple/pip/
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("Can't connect to HTTPS URL because the SS
L module is not available.")) - skipping
Requirement already up-to-date: pip in /usr/local/lib/python3.8/site-packages (19.2.3)
WARNING: pip is configured with locations that require TLS/SSL, however the ssl module in Python is not available.
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("Can't connect to HTTPS URL because the SS
L module is not available.")) - skipping

So, next I used pip instead of pip3. I input pip install -r requirements.txt

This is the result.

Defaulting to user installation because normal site-packages is not writeable
Requirement already satisfied: absl-py in /usr/local/lib/python2.7/dist-packages (from -r requirements.txt (line 1)) (0.9.0)
Requirement already satisfied: mock in /usr/local/lib/python2.7/dist-packages (from -r requirements.txt (line 2)) (3.0.5)
Requirement already satisfied: numpy in /usr/local/lib/python2.7/dist-packages (from -r requirements.txt (line 3)) (1.16.6)
Collecting rouge-score
  Downloading rouge_score-0.0.4-py2.py3-none-any.whl (22 kB)
Collecting sacrebleu
  Downloading sacrebleu-1.3.7.tar.gz (26 kB)
    ERROR: Command errored out with exit status 1:
     command: /usr/bin/python -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-HCHhuX/sacrebleu/setup.p
y'"'"'; __file__='"'"'/tmp/pip-install-HCHhuX/sacrebleu/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f
.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' egg_info --egg-base /tmp/
pip-install-HCHhuX/sacrebleu/pip-egg-info
         cwd: /tmp/pip-install-HCHhuX/sacrebleu/
    Complete output (7 lines):
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "/tmp/pip-install-HCHhuX/sacrebleu/setup.py", line 65, in <module>
        version = get_version(),
      File "/tmp/pip-install-HCHhuX/sacrebleu/setup.py", line 56, in get_version
        with open(os.path.join(os.path.dirname(__file__), 'sacrebleu.py'), encoding='utf-8') as fin:
    TypeError: 'encoding' is an invalid keyword argument for this function
    ----------------------------------------
ERROR: Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.
WARNING: You are using pip version 20.0.2; however, version 20.1.1 is available.
You should consider upgrading via the '/usr/bin/python -m pip install --upgrade pip' command.

How can I realize pip3 install -r requirements.txt? Could you give me any advice, please?

like image 902
Kazuaki Suzuki Avatar asked Jul 10 '20 04:07

Kazuaki Suzuki


People also ask

Can't connect to https because the SSL module is not available pip?

This is likely due to libssl being installed, then your python virtualenv env created, then something happening to libssl, such as being upgraded/removed. The first step to resolve is to ensure you have libssl installed. If you're not using pyenv, then however you installed Python remove it and reinstall.

What is import SSL in python?

This module provides access to Transport Layer Security (often known as “Secure Sockets Layer”) encryption and peer authentication facilities for network sockets, both client-side and server-side.

How do I get pip in python?

Step 1: Download the get-pip.py (https://bootstrap.pypa.io/get-pip.py) file and store it in the same directory as python is installed. Step 2: Change the current path of the directory in the command line to the path of the directory where the above file exists. Step 4: Now wait through the installation process. Voila!


2 Answers

I had the same issue and had to spend a few days to tackle. After exploring many different solutions, this worked for the pip ssl issue.

like image 192
Snafkin547 Avatar answered Oct 09 '22 00:10

Snafkin547


Resolved this on windows 10 by installing openssl

used this link

like image 4
Glitch Avatar answered Oct 08 '22 22:10

Glitch