树莓派Python2.7用pip安装virtualenv时遭遇SSLError问题求助
解决树莓派Python 2.7下pip安装virtualenv的SSL握手错误问题
你遇到的核心问题是老版本pip不支持现代TLS协议,再加上Python2.7早已停止维护,导致连接PyPI时触发SSLError: "bad handshake",这也是所有pip操作失败的根源。下面是一步步的解决办法:
第一步:更新pip到Python2.7能支持的最后版本
直接用pip install --upgrade pip大概率会失败,因为新版pip已经放弃了Python2.7支持。你需要用专门的Python2.7版get-pip脚本:wget https://bootstrap.pypa.io/pip/2.7/get-pip.py sudo python2.7 get-pip.py这个脚本会把pip升级到20.3.4版本——这是Python2.7兼容的最后一个pip版本,它支持连接PyPI所需的TLS协议。
第二步:修复系统CA证书(如果第一步后仍报错)
有时候树莓派的CA证书过期或缺失也会导致SSL握手失败,执行以下命令重新安装证书:sudo apt-get update && sudo apt-get install --reinstall ca-certificates完成后可以重启树莓派,确保证书生效。
第三步:安装virtualenv和virtualenvwrapper
现在再尝试执行安装命令:sudo pip install virtualenv virtualenvwrapper如果还是遇到SSL问题,可以临时添加
--trusted-host参数绕过验证(注意:这会降低安全性,仅作为最后手段):sudo pip install --trusted-host pypi.org --trusted-host files.pythonhosted.org virtualenv virtualenvwrapper
额外提醒
Python2.7在2020年就已经完全停止维护了,不仅pip后续不会再有更新,很多第三方库也不再支持Python2.7。如果你的项目没有必须用Python2.7的理由,强烈建议迁移到Python3.x——树莓派现在默认预装的都是Python3,兼容性和安全性都好得多。
内容的提问来源于stack exchange,提问作者theTipper
相关产品推荐
相关产品推荐

