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

40,873

Solution 1

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.

Solution 2

Resolved this on windows 10 by installing openssl

used this link

Share:
40,873

Related videos on Youtube

Kazuaki Suzuki
Author by

Kazuaki Suzuki

Updated on July 28, 2022

Comments

  • Kazuaki Suzuki
    Kazuaki Suzuki 5 months

    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?

    • ewokx
      ewokx over 2 years
      pip apparently uses your python2.7 installation, which isn't what you want. Also, does your python3 recognize the ssl module? what happens if you type python3 -c 'import ssl'?
  • Kazuaki Suzuki
    Kazuaki Suzuki over 2 years
    Thank you for your answer. Your solution worked for my problem, too!

Related