こんなふうになってしまう場合
% pyenv install 3.8.3
・・・・
configure: error: C compiler cannot create executables
Xcode 12のインストール
2020/12 追記
*App Storeからインストールできる最新バージョンで構いません。
それでもうまく行かない場合のみ、下記のベータ版でお試しください。
- Xcode 12 beta x
- Command Line Tools for Xcode 12 beta x
この2つをダウンロードしてインストール
Xcode → Preference から コマンドラインツールで使うXcodeを 12 beta xにしておく
zlib インストール
% brew install zlib
% export LDFLAGS="-L/usr/local/opt/zlib/lib"
% export CPPFLAGS="-I/usr/local/opt/zlib/include"
python インストール
% 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.8.0 < <(curl -sSL https://github.com/python/cpython/commit/8ea6353.patch\?full_index\=1)
python-build: use openssl@1.1 from homebrew
python-build: use readline from homebrew
Downloading Python-3.8.0.tar.xz...
-> https://www.python.org/ftp/python/3.8.0/Python-3.8.0.tar.xz
Installing Python-3.8.0...
patching file Misc/NEWS.d/next/macOS/2020-06-24-13-51-57.bpo-41100.mcHdc5.rst
patching file configure
Hunk #1 succeeded at 3394 (offset -32 lines).
patching file configure.ac
Hunk #1 succeeded at 498 (offset -12 lines).
python-build: use readline from homebrew
python-build: use zlib from xcode sdk
Installed Python-3.8.0 to /Users/[USER]/.pyenv/versions/3.8.0
% 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.8.3 < <(curl -sSL https://github.com/python/cpython/commit/8ea6353.patch\?full_index\=1)
python-build: use openssl@1.1 from homebrew
python-build: use readline from homebrew
Downloading Python-3.8.3.tar.xz...
-> https://www.python.org/ftp/python/3.8.3/Python-3.8.3.tar.xz
Installing Python-3.8.3...
patching file Misc/NEWS.d/next/macOS/2020-06-24-13-51-57.bpo-41100.mcHdc5.rst
patching file configure
Hunk #1 succeeded at 3398 (offset -28 lines).
patching file configure.ac
Hunk #1 succeeded at 498 (offset -12 lines).
python-build: use readline from homebrew
python-build: use zlib from xcode sdk
Installed Python-3.8.3 to /Users/[USER]/.pyenv/versions/3.8.3
確認
% pyenv versions
* system (set by /Users/[USER]/.pyenv/version)
3.8.0
3.8.3
macOS Big Surをサポートした Python 3.9.1
macOS Big Surをサポートした Python 3.9.1 がリリースされました。
https://ledge.ai/python-3-9-1/
最初からこちらをインストールするのがいいかもしれません。
% git clone git://github.com/yyuu/pyenv.git ~/.pyenv
% 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.1