pipでScrapyをインストールする際に[SSL: TLSV1_ALERT_PROTOCOL_VERSION]とかエラーが出た

Photo by Markus Spiske on Unsplash
スポンサーリンク

状況

新しくScrapyのプロジェクトを作るため、以下を実行。

$ mkdir new-scrapy-prj
$ cd new-scrapy-prj
$ python3 -m venv myenv
$ source myenv/bin/activate

ここまでは成功。続いてScrapyをpipでインストールする際にエラー発生。

エラーメッセージ

どうやらSSL証明書がアカんって叱られてるようだけど、そんなのいじった覚えは全くない。
結論だけ言うと、証明書周りは何もせず、pipを最新にしてやるといけた。

環境の確認

$ python -V
Python 3.5.3
$ pip -V
pip 9.0.1

対処

venvに入ったまま下記を実行し、pipを最新のものにしてやると直った。

$ curl https://bootstrap.pypa.io/get-pip.py | python

下記のようにずらずらーっといろんなメッセージが出る。
最後の3行くらいを読むと、pip-9.0.1をアンインストールして10.0.1にアップデートされているのがわかる。

Collecting pip
Using cached https://files.pythonhosted.org/packages/0f/74/ecd13431bcc456ed390b44c8a6e917c1820365cbebcb6a8974d1cd045ab4/pip-10.0.1-py2.py3-none-any.whl
Collecting wheel
Using cached https://files.pythonhosted.org/packages/81/30/e935244ca6165187ae8be876b6316ae201b71485538ffac1d718843025a9/wheel-0.31.1-py2.py3-none-any.whl
Installing collected packages: pip, wheel
Found existing installation: pip 9.0.1
Uninstalling pip-9.0.1:
Successfully uninstalled pip-9.0.1
Successfully installed pip-10.0.1 wheel-0.31.1

改めてpipのバージョンを確認。10.0.1になってる

$ pip -V
pip 10.0.1

結果

改めて、pipでScrapyを入れ直す。

$ pip install Scrapy

インストールできたか確認!

$ scrapy version
Scrapy 1.5.0   # versionが表示されればok!

教訓

なんか困ったら諸々アップデートや!

参考にしたもの

python – pip issue installing almost any library – Stack Overflow

Not able to install Python packages [SSL: TLSV1_ALERT_PROTOCOL_VERSION] – Stack Overflow

ABOUTこの記事をかいた人

職業:遊び人。1日の半分は睡眠時間の超ロングスリーパー。元大手IT企業のサラリーマンだったが、ブラックな労働環境で体を壊した挙句クビになり、やむをえず独立。それ以来定職にもつかず、半分遊びのようなヌルい仕事をしながら適当に暮らしている。良く言えばノマドワーカー。 詳しいプロフィールはこちら