元バイオ系

元バイオウェット系がデータサイエンスやらを勉強していくブログ。 基本自分用のまとめ。

Big SurでのBUILD FAILED (OS X 11.5.1 using python-build 20180424)を解決したい

macOS Big Sur (Version 11.5.1)にてpyenvで3.7系のpythonをインストールしようとすると

BUILD FAILED (OS X 11.5.1 using python-build 20180424)

のエラーが発生した。

結論から言うと、brewを経由せずにgithubから直接pyenvを取ってきたら解決した。
既にgithubリポジトリから直接インストールしている人は

cd $(pyenv root)
git pull

で最新版のpyenvを取ってくれば良い。

ただ、これだけでは3.6.8が結局入らず、今度は

BUILD FAILED (OS X 11.5.1 using python-build 2.0.6)

のエラーが発生。

pyenvのissueに解決策があったので、コマンドを以下にまとめておいた。


3.6.8のインストール

CFLAGS="-I$(brew --prefix openssl)/include -I$(brew --prefix bzip2)/include -I$(brew --prefix readline)/include -I$(xcrun --show-sdk-path)/usr/include" LDFLAGS="-L$(brew --prefix openssl)/lib -L$(brew --prefix readline)/lib -L$(brew --prefix zlib)/lib -L$(brew --prefix bzip2)/lib" pyenv install --patch 3.6.8 < <(curl -sSL https://github.com/python/cpython/commit/8ea6353.patch\?full_index\=1)

3.6.12のインストール

CFLAGS="-I$(brew --prefix openssl)/include -I$(brew --prefix bzip2)/include -I$(brew --prefix readline)/include -I$(xcrun --show-sdk-path)/usr/include" LDFLAGS="-L$(brew --prefix openssl)/lib -L$(brew --prefix readline)/lib -L$(brew --prefix zlib)/lib -L$(brew --prefix bzip2)/lib" pyenv install --patch 3.6.12 < <(curl -sSL https://github.com/python/cpython/commit/8ea6353.patch\?full_index\=1)

3.7.9のインストール

CFLAGS="-I$(brew --prefix openssl)/include -I$(brew --prefix bzip2)/include -I$(brew --prefix readline)/include -I$(xcrun --show-sdk-path)/usr/include" LDFLAGS="-L$(brew --prefix openssl)/lib -L$(brew --prefix readline)/lib -L$(brew --prefix zlib)/lib -L$(brew --prefix bzip2)/lib" pyenv install 3.7.9

3.8.0のインストール

pyenv install --patch 3.8.0 < (curl -sSL https://github.com/python/cpython/commit/8ea6353.patch\?full_index\=1 | psub)

3.8.6のインストール

LDFLAGS="-L$(xcrun --show-sdk-path)/usr/lib" pyenv install 3.8.6

とりあえずこれで動いているものの、気持ちが悪い。

参考