pipenv (pyenv)で Python 3.4.3がインストールできなかった話。

先日AtCoderを始めまして。
で、AtCoderでは python のバージョンが3.4.3らしいので、それを入れようとしたら苦労した話。


エラーメッセージとっておいてなかったんだけど、

pipenv install --python 3.4.3

ってやったら

なんたらかんたら
The Python you just installed is not available on your PATH, apparently.

と言われ、次に

pyenv install 3.4.3

としたら

どーたらこーたら
The Python ssl extension was not compiled. Missing the OpenSSL lib?

と言われた。


解決策(と思うもの)

pyenvのエラーについていろいろググっていたらこのページにたどり着いた。
github.com
どうやらOpenSSL関連が原因らしい。(わかってない)
でページの内容に従い libssl-dev を入れなおしたら3.4.3がインストールできた。

sudo apt-get remove libssl-dev
sudo apt-get update
sudo apt-get install libssl1.0-dev

もしかしたらその前に実行した設定(?)の効果もあるかも。

LDFLAGS="-L/usr/lib/openssl-1.0" \
CFLAGS="-I/usr/include/openssl-1.0" \
pyenv install -v 3.4.3

他にやったこと

  • pip update & pip upgrade

まあとりあえず。

  • pipenvとpipのバージョン下げ

pipenvのエラーメッセージでググったら出てきた。
Pipenvのpyenvサポート(自動バージョンインストール)が動かないとき - Qiita
前のpipenvがらみのトラブルでもバージョン下げればOKみたいな話を見たのでやってみたが効果なし。

  • pipenvの依存関係の入れ直し

この時はlibssl-dev(1.0)ではなかった。