mirror of
https://github.com/python/cpython.git
synced 2025-11-01 18:51:43 +00:00
Issue #19744: improve ensurepip error when ssl is missing
This commit is contained in:
parent
f71cae0a93
commit
ae2ee96ad7
4 changed files with 81 additions and 2 deletions
|
|
@ -14,6 +14,19 @@ _SETUPTOOLS_VERSION = "2.0.1"
|
|||
|
||||
_PIP_VERSION = "1.5rc2"
|
||||
|
||||
# pip currently requires ssl support, so we try to provide a nicer
|
||||
# error message when that is missing (http://bugs.python.org/issue19744)
|
||||
_MISSING_SSL_MESSAGE = ("pip {} requires SSL/TLS".format(_PIP_VERSION))
|
||||
try:
|
||||
import ssl
|
||||
except ImportError:
|
||||
ssl = None
|
||||
def _require_ssl_for_pip():
|
||||
raise RuntimeError(_MISSING_SSL_MESSAGE)
|
||||
else:
|
||||
def _require_ssl_for_pip():
|
||||
pass
|
||||
|
||||
_PROJECTS = [
|
||||
("setuptools", _SETUPTOOLS_VERSION),
|
||||
("pip", _PIP_VERSION),
|
||||
|
|
@ -57,6 +70,7 @@ def bootstrap(*, root=None, upgrade=False, user=False,
|
|||
if altinstall and default_pip:
|
||||
raise ValueError("Cannot use altinstall and default_pip together")
|
||||
|
||||
_require_ssl_for_pip()
|
||||
_clear_pip_environment_variables()
|
||||
|
||||
# By default, installing pip and setuptools installs all of the
|
||||
|
|
@ -121,6 +135,7 @@ def _uninstall_helper(*, verbosity=0):
|
|||
"({!r} installed, {!r} bundled)")
|
||||
raise RuntimeError(msg.format(pip.__version__, _PIP_VERSION))
|
||||
|
||||
_require_ssl_for_pip()
|
||||
_clear_pip_environment_variables()
|
||||
|
||||
# Construct the arguments to be passed to the pip command
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue