2020-12-22 [長年日記]
■Big Sur+pyenvで素直にビルドできない件
(追記) pyenv 1.2.22で解消済み
macOS11ことBig Surですが、pyenvのバージョン1.2.21では pyenv install が素直にできません。
make: * [Modules/posixmodule.o] Error 1 make: * Waiting for unfinished jobs.... 1 warning generated.
みたいなエラーが出ます。
https://github.com/pyenv/pyenv/issues/1643
https://github.com/pyenv/pyenv/issues/1737
あたりでディスカッションされています。
(以下に書いた情報は簡単に古くなる性質のものですので、自分の目でissueを確認するのは必須ですよ!)
今のところこんな感じで対応するのがよさそうです。
brew install pyenv zlib bzip2 readline eval "$(pyenv init -)" CPPFLAGS="-I$(brew --prefix openssl)/include -I$(brew --prefix bzip2)/include -I$(brew --prefix readline)/include -I$(brew --prefix zlib)/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.9.0
3.7, 3.8 の場合、無理に古いものを入れるようとすると上記のようにしてもエラーが起こります。今だと 3.7.9 / 3.8.6をインストールするのが吉です。
それではだめな理由があって古いものでエラーになるようなら、以下のコメントを参考に --patch オプションとパッチを使いましょう。
https://github.com/pyenv/pyenv/issues/1643#issuecomment-733531622
Intel CPUの話です。M1 macまだ触ってないです。