This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

classification
Title: pip does not run in virtual environment in 3.8
Type: behavior Stage: resolved
Components: SSL Versions: Python 3.8
process
Status: closed Resolution: not a bug
Dependencies: Superseder:
Assigned To: christian.heimes Nosy List: Jonathan.Gossage, ammar2, christian.heimes, matrixise, xtreak
Priority: normal Keywords:

Created on 2019-09-16 18:19 by Jonathan.Gossage, last changed 2022-04-11 14:59 by admin. This issue is now closed.

Messages (4)
msg352564 - (view) Author: Jonathan Gossage (Jonathan.Gossage) * Date: 2019-09-16 18:19
Python 3.8 was installed from source on Ubuntu 19.04 desktop and a virtual environment was created with python3.8 -m venv venvrh. When attempting to use pip to install a package, the following error was encountered:

(venvrh) jgossage@jgossage-XPS-8700:~/Projects/Maintenance$ pip install sphinx
WARNING: pip is configured with locations that require TLS/SSL, however the ssl module in Python is not available.
Collecting sphinx
  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/sphinx/
  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/sphinx/
  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/sphinx/
  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/sphinx/
  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/sphinx/
  Could not fetch URL https://pypi.org/simple/sphinx/: There was a problem confirming the ssl certificate: HTTPSConnectionPool(host='pypi.org', port=443): Max retries exceeded with url: /simple/sphinx/ (Caused by SSLError("Can't connect to HTTPS URL because the SSL module is not available.")) - skipping
  ERROR: Could not find a version that satisfies the requirement sphinx (from versions: none)
ERROR: No matching distribution found for sphinx
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 SSL module is not available.")) - skipping
msg352565 - (view) Author: Ammar Askar (ammar2) * (Python committer) Date: 2019-09-16 18:24
As the error says:

> Can't connect to HTTPS URL because the SSL module is not available.

Since you built it from source, you should check your build logs, the _ssl module likely failed to build. You're most probably missing the openssl dependency.
msg352566 - (view) Author: Karthikeyan Singaravelan (xtreak) * (Python committer) Date: 2019-09-16 18:26
I guess it's due to the binary not being built with ssl module. During build did you get a message like below ? 


Could not build the ssl module!
Python requires an OpenSSL 1.0.2 or 1.1 compatible libssl with X509_VERIFY_PARAM_set1_host().
LibreSSL 2.6.4 and earlier do not provide the necessary APIs, https://github.com/libressl-portable/portable/issues/381

In the REPL you can verify it by trying to import ssl module that would fail if python was not built with ssl

./python.exe
Python 3.9.0a0 (heads/pr_16148:1a801bd50d, Sep 16 2019, 22:15:26)
[Clang 7.0.2 (clang-700.1.81)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import ssl
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/Users/karthikeyansingaravelan/stuff/python/cpython/Lib/ssl.py", line 98, in <module>
    import _ssl             # if we can't import it, let the error propagate
ModuleNotFoundError: No module named '_ssl'
msg352567 - (view) Author: Stéphane Wirtel (matrixise) * (Python committer) Date: 2019-09-16 18:28
I close this issue, it's not related to the packaging of Python, but just to your compilation.

As explained by Ammar Askar, when you compile Python, you have to be sure that you have the openssl-dev package installed on your system

You can read this page: https://cpython-core-tutorial.readthedocs.io/en/latest/build_cpython_linux.html
History
Date User Action Args
2022-04-11 14:59:20adminsetgithub: 82370
2019-09-16 18:28:05matrixisesetstatus: open -> closed

nosy: + matrixise
messages: + msg352567

resolution: not a bug
stage: resolved
2019-09-16 18:26:15xtreaksetnosy: + xtreak
messages: + msg352566
2019-09-16 18:24:14ammar2setnosy: + ammar2
messages: + msg352565
2019-09-16 18:19:55Jonathan.Gossagecreate