さて、GAE 2nd genの3.7ランタイムを使うために3.7をインストールしようとして以下のようなエラーが出てきた。
ERROR: The Python ssl extension was not compiled. Missing the OpenSSL lib?
OpenSSLのライブラリがない、というエラー。
これはエラーログにも出てくるリンクだけど、ここを見ろと言われる。
https://github.com/pyenv/pyenv/wiki/Common-build-problems#error-the-python-ssl-extension-was-not-compiled-missing-the-openssl-lib
毎回入力するのもめんどいから.bash_profileに以下の行を追加してみた。
# about openssl
export CFLAGS="-I$(brew --prefix openssl)/include $CFLAGS"
export LDFLAGS="-L$(brew --prefix openssl)/lib $LDFLAGS"
そうすると今度はこういうエラーに変わった。
ModuleNotFoundError: No module named 'pyexpat'
pyexpatはXMLパーサーの一つ。
https://docs.python.org/ja/3.7/library/pyexpat.html
しかし最近の情報を見ていくと、こんな漢字で、そもそもCFLAG消したらうまく言ったぜぐへへ的なコメントも合った。
https://github.com/pyenv/pyenv/issues/1066#issuecomment-387211005
うーん、なんともうまくいかないなぁと思って更に調べていたところこのコメントに出会って解決。
https://github.com/pyenv/pyenv/issues/1184#issuecomment-409320318
解決法
CONFIGURE_OPTS="--with-openssl=$(brew --prefix openssl)" pyenv install 3.7.0
うおーインストールされてる!
例のごとく.bash_profileに追記して動かしてます。