执行pip升级pyls遇HTTP Error 403:需SSL,现有方案无效
解决pyls升级时出现的HTTP Error 403: SSL is required问题
我来帮你搞定这个问题!你遇到的403错误其实是因为你要升级的pyls 0.1.3版本太老了——它的安装脚本(setup.py)里硬编码了HTTP链接去拉取distribute依赖包,而现在PyPI早就禁用了HTTP访问、强制要求HTTPS,所以直接执行命令会报错。你之前查的文档解决方案无效,是因为那些方案大多针对pip本身的配置问题,但这次的根源在旧版本pyls的代码里,不是pip的设置问题。
下面给你两种可行的解决方案:
方案一:安装官方维护的替代包(推荐)
原来的pyls已经停止维护,官方把它重命名为python-lsp-server并持续更新。直接安装这个替代包即可,命令如下:
pip install --upgrade python-lsp-server
这个包完全兼容原来的pyls功能,而且不会有旧版本的HTTP链接问题。
方案二:手动修改旧版本pyls的安装脚本(仅当你必须用旧版本时)
如果因为特殊需求一定要安装pyls 0.1.3,你需要手动修改它的setup.py里的依赖链接:
- 找到缓存的
pyls-0.1.3.zip文件并解压 - 打开解压后的目录里的
setup.py,找到这一行:
把其中的Downloading http://pypi.python.org/packages/source/d/distribute/distribute-0.6.14.tar.gzhttp://改成https://,同时把域名调整为当前PyPI的官方域名,修改后变成:Downloading https://pypi.org/packages/source/d/distribute/distribute-0.6.14.tar.gz - 进入解压后的目录,执行本地安装命令:
pip install .
补充说明:你看到的错误日志里明确显示,安装过程中在尝试下载
http://pypi.python.org的distribute包,这就是触发403错误的直接原因——PyPI现在拒绝所有HTTP请求,必须用HTTPS。
内容的提问来源于stack exchange,提问作者allan.simon
相关产品推荐
相关产品推荐

