web-dev-qa-db-ja.com

Pipインストールが失敗する:SSLが必要

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
7
nehemiah

解決策:ライブラリの最新バージョンにアップグレードします。

すべてがここから始まり、突然(2017年10月)Distutilsチームは、以前のバージョンの多数のpythonライブラリの下位互換性を壊すことを心配することなく、https以外のリクエストのサポートを取り消すことにしました。 、しかしPython world。

そこで、ここに修正があります。単にライブラリの最新バージョンに移動してください(rsa==3.4.2私の場合)任意のライブラリ(nltk==3.2.5 etc)

代替ソリューション:リポジトリのバージョンをフォーク(またはローカルコピー)し、http urlをhttpsに変更

それにもかかわらず、アップグレードする依存関係は作成者が意図した元のライブラリと互換性がない可能性があるため、別のプロジェクトを維持しながらこれを行う場合は注意してください、たとえば私のコンテキストではrsaは別のライブラリで依存。したがって、解決策は、この問題が自動的に処理されるように親ライブラリをアップグレードすることでした。

9
nehemiah

受け入れられた答えは私の場合(長老のRaspbianで)うまくいきませんでしたが、コマンドでダウンロードURLを提供することで this postで説明されているように助けました:

Sudo pip install paho-mqtt -i https://pypi.python.org/simple
1
domih

ただeasy_install rsa==3.1.1は仕事をします。

1
iMitwe

Pipではなくeasy_installを使用するとうまくいきました:

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
Fiskabollen