如何使用Python 2.7在Windows上修复pip安装证书问题?

时间:2018-04-17 14:04:11

标签: windows python-2.7 pip

在Windows中,我安装了Python 2.7。我在我的虚拟环境中使用这个版本的Python。当我尝试使用pip install时,我会收到以下类型的错误,指出我没有有效的安全证书。

  

C:\项目\洗涤\洗涤\ ENV \ lib中\站点包\ pip_vendor \ urllib3 \ UTIL \ ssl_.py:339:   SNIMissingWarning:已经发出了HTTPS请求,但是SNI   (主题名称指示)此处不提供TLS扩展名   平台。这可能导致服务器出现错误的TLS   证书,可能导致验证失败。你可以升级到   更新版本的Python来解决这个问题。有关更多信息,请参阅   https://urllib3.readthedocs.io/en/latest/advanced-usage.html#ssl-warnings   SNIMissingWarning   C:\项目\擦洗\擦洗\ ENV \ LIB \站点包\ pip_vendor \ urllib3 \ UTIL \ ssl_.py:137:   InsecurePlatformWarning:真正的SSLContext对象不可用。   这可以防止urllib3适当地配置SSL并可能导致   某些SSL连接失败。您可以升级到更新版本   Python来解决这个问题。有关更多信息,请参阅   https://urllib3.readthedocs.io/en/latest/advanced-usage.html#ssl-warnings   InsecurePlatformWarning Retrying(重试(总数= 4,连接=无,   读取=无,重定向=无,状态=无))连接断开后   ' SSLError(SSLError(1,' _ssl.c:499:错误:1407742E:SSL   例程:SSL23_GET_SERVER_HELLO:tlsv1警报协议版本'),)':   /简单/ CERTIFI /   C:\项目\擦洗\擦洗\ ENV \ LIB \站点包\ pip_vendor \ urllib3 \ UTIL \ ssl_.py:137:   InsecurePlatformWarning:真正的SSLContext对象不可用。   这可以防止urllib3适当地配置SSL并可能导致   某些SSL连接失败。您可以升级到更新版本   Python来解决这个问题。有关更多信息,请参阅   https://urllib3.readthedocs.io/en/latest/advanced-usage.html#ssl-warnings

我在Python 3.6.5虚拟环境中没有遇到这些问题。不幸的是,我需要使用Python 2.7进行Google App Engine开发。

我的requirements.txt文件包含以下内容:

Flask>=0.12
Flask-Cors>=3.0.3
flask-restplus>=0.10.1
google-api-python-client>=1.6.5
GoogleAppEngineCloudStorageClient>=1.9.22.1

我对此处的任何修复感兴趣。我已经尝试过在StackOverflow上找到的所有内容。

修改 这已被确定为问题"...Could not find a version that satisfies the requirement..."的可能重复。然而,这些错误消息是完全不同的。我的实际修复是完全安装从Python.org

下载的Python 2.7.14

1 个答案:

答案 0 :(得分:0)

在错误中看到这一行:

routines:SSL23_GET_SERVER_HELLO:tlsv1 alert protocol version'),)': 

Python.org网站最近停止了对TLS v1.0和v1.1

的支持

尝试按如下方式升级pip:

curl https://bootstrap.pypa.io/get-pip.py | python

升级pip后仍然可以使用Python 2.7,因为它将使用后来的TLS版本(即> = 1.2)

有关详细信息,请参阅this answer