BLOGTIMES
2020/02/10

Python 2.7 の requests で SSLError が出て困った

  python  ubuntu 
このエントリーをはてなブックマークに追加

ちょっと古い Ubuntu (14.04)で動かしていた Python スクリプトがエラーを吐くようになってしまったので対応方法をメモ。
コケているのが requests の部分のようだったので、試しに対話的に実行してみると以下ような SSL エラーが出てしまっていました。

$ python2.7 Python 2.7.6 (default, Nov 12 2018, 20:00:40) [GCC 4.8.4] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> import requests >>> r = requests.get("https://www.yahoo.co.jp/") Traceback (most recent call last): File "<stdin>", line 1, in <module> File "/usr/lib/python2.7/dist-packages/requests/api.py", line 55, in get return request('get', url, **kwargs) File "/usr/lib/python2.7/dist-packages/requests/api.py", line 44, in request return session.request(method=method, url=url, **kwargs) File "/usr/lib/python2.7/dist-packages/requests/sessions.py", line 455, in request resp = self.send(prep, **send_kwargs) File "/usr/lib/python2.7/dist-packages/requests/sessions.py", line 558, in send r = adapter.send(request, **kwargs) File "/usr/lib/python2.7/dist-packages/requests/adapters.py", line 385, in send raise SSLError(e) requests.exceptions.SSLError: [Errno 1] _ssl.c:510: error:14077410:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure

とりあえず requests をアップデートすると修正できそうだったので、以下のコマンドでアップデートして無事解決しました。
かなり古い環境なので、そろそろ再インストールしないといけないですね。

apt-get install build-essential libssl-dev libffi-dev python3-dev easy_install pip pip install --upgrade requests[security] --ignore-installed

参考


    トラックバックについて
    Trackback URL:
    お気軽にどうぞ。トラックバック前にポリシーをお読みください。[policy]
    このエントリへのTrackbackにはこのURLが必要です→https://blog.cles.jp/item/11539
    Trackbacks
    このエントリにトラックバックはありません
    Comments
    愛のあるツッコミをお気軽にどうぞ。[policy]
    古いエントリについてはコメント制御しているため、即時に反映されないことがあります。
    コメントはありません
    Comments Form

    コメントは承認後の表示となります。
    OpenIDでログインすると、即時に公開されます。

    OpenID を使ってログインすることができます。

    Identity URL: Yahoo! JAPAN IDでログイン