pip安装在virtualenv中具有SSL问题,带有python27的交互器

时间:2019-04-07 14:56:47

标签: python ssl pip virtualenv

TL; DR 尝试在python27 venv中使用pip安装并收到SSL连接错误。

我对python开发非常陌生。随着python 3的问世以及它引入的所有兼容性问题,我再也没有失去这么多活跃的python 2代码和文档以及python 3文档。

所以我正在使用应该在python 2.7上运行的python Web应用程序(基于烧瓶)。

我正在使用VS Code运行Windows 10。

因此,我已经完成了使用cmd virtualenv -p "C:\\Python27\python.exe" venv在项目下创建venv文件夹的所有步骤

当我开始做pip install -r requirements.txt

我收到以下连接错误。

  

c:\ users \ path \ to \ project \ venv \ lib \ site-packages \ pip_vendor \ urllib3 \ util \ ssl_.py:354:   SNIMissingWarning:已发出HTTPS请求,但SNI(服务器   TLS的名称指示)扩展名在此平台上不可用。   这可能会导致服务器出示不正确的TLS证书,   这可能会导致验证失败。您可以升级到较新的版本   版本的Python可以解决这个问题。有关更多信息,请参见   https://urllib3.readthedocs.io/en/latest/advanced-usage.html#ssl-warnings

     

不安全的平台警告   重试(Retry(total = 4,connect = None,   连接断开后,读取=无,重定向=无,状态=无))   'SSLError(SSLError(1,'_ssl.c:499:error:1407742E:SSL   例程:SSL23_GET_SERVER_HELLO:tlsv1警报协议版本'),)':   /简单/点子/   c:\ users \ kenzho〜1 \ worksa〜1 \ 7eleve〜1 \ venv \ lib \ site-packages \ pip_vendor \ urllib3 \ util \ ssl_.py:150:   InsecurePlatformWarning:真正的SSLContext对象不可用。   这会阻止urllib3正确配置SSL并可能导致   某些SSL连接失败。您可以升级到更高版本的   Python解决了这个问题。有关更多信息,请参见   https://urllib3.readthedocs.io/en/latest/advanced-usage.html#ssl-warnings

我尝试了以下方法来解决该问题。

python -m pip install --trusted-host pypi.org --trusted-host files.pythonhosted.org --index-url=https://pypi.org/simple/

但是它们似乎都不起作用。

有人知道吗?

谢谢

1 个答案:

答案 0 :(得分:0)

您需要更新Python SSL软件包。

选项1

安装以下程序包将修复错误。

pip install pyOpenSSL ndg-httpsclient pyasn1

但这仅适用于Python 2.7.6的系统版本。 由于某种原因,在虚拟环境中尝试使用python进行相同的修复非常困难。由于要修复的SSL错误,最终导致您无法完成更新。

选项2

升级您的python版本。您需要的修补程序已捆绑到Python 2.7.9中 有关错误和修复的详细信息,请参见发行说明。