Pip安装失败:需要SSL

问题描述 投票:6回答:4
Collecting rsa==3.1.1 (from -r /racetrack/.requirements.txt (line 41))
eval (python -m virtualfish)
  Downloading rsa-3.1.1.tar.gz
    Complete output from command python setup.py egg_info:
    Downloading http://pypi.python.org/packages/source/d/distribute/distribute-0.6.10.tar.gz
    Traceback (most recent call last):          
      File "/usr/lib/python2.7/urllib2.py", line 558, in http_error_default
        raise HTTPError(req.get_full_url(), code, msg, hdrs, fp)
    urllib2.HTTPError: HTTP Error 403: SSL is required
python dependencies pip rsa
4个回答
9
投票

解决方案:升级到库的最新版本。

一切都从这里开始,突然(2017年10月),Distutils团队决定撤销对非https请求的支持,而不必担心破坏许多python库的早期版本的向后兼容性。有点不专业,但嘿,这是Python世界。

所以这里是修复,只需转移到任何库(rsa==3.4.2等)的库的最新版本(在我的情况下为nltk==3.2.5

替代解决方案:fork(或本地复制)repo版本并将http url修改为https

尽管如此,请注意您是否在维护另一个项目的同时执行此操作,因为您升级的依赖项可能与作者原定的原始库不兼容,例如在我的上下文中,rsa在另一个库下用作依赖项。因此,解决方案是升级父库,以便自动处理此问题。


1
投票

接受的答案在我的案例中不起作用(在老Raspbian上),但提供下载URL和命令帮助我,如this帖子中所述:

sudo pip install paho-mqtt -i https://pypi.python.org/simple

0
投票

使用easy_install而不是pip为我工作:

easy_install funkload

我试图pip install funkload,并得到:

Collecting funkload
  Using cached funkload-1.17.1.tar.gz
  Complete output from command python setup.py egg_info:
  Downloading http://pypi.python.org/packages/source/d/distribute/distribute-0.6.14.tar.gz
  Traceback (most recent call last):
...<snip>
  urllib2.HTTPError: HTTP Error 403: SSL is required

由于funkload的日期是2011年,旧的easy_install可以使用。


0
投票

只是一个easy_install rsa==3.1.1将完成这项工作。

© www.soinside.com 2019 - 2024. All rights reserved.