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/
但是它们似乎都不起作用。
有人知道吗?
谢谢
答案 0 :(得分:0)
您需要更新Python SSL软件包。
选项1
安装以下程序包将修复错误。
pip install pyOpenSSL ndg-httpsclient pyasn1
但这仅适用于Python 2.7.6的系统版本。 由于某种原因,在虚拟环境中尝试使用python进行相同的修复非常困难。由于要修复的SSL错误,最终导致您无法完成更新。
选项2
升级您的python版本。您需要的修补程序已捆绑到Python 2.7.9中 有关错误和修复的详细信息,请参见发行说明。