Takuyaです。
今回の記事はこんな方に向けて書いています。
- Mac を使用している
- Mac のパッケージ管理に Homebrew を使用している
- Python のバージョン管理に pyenv を使用している
- macOS を Big Sur にアップしたら、pyenv による Pythonのインストールができなくなった
今回ご紹介する対処法は、実際に私が pyenv で Python をインストールできなくなり、この対処法を実施することで、pyenv で Python をインストールできるようになったものです。
インストールできない と言っても、色々な原因が考えらるので、ご紹介する対処法では解決しない可能性もありますが、その点はご了承ください。
目次
インストール時に出るエラー詳細
pyenv による Python のインストールに失敗した時のログは下記のように出力されていました。
$pyenv install 3.8.4
python-build: use openssl@1.1 from homebrew
python-build: use readline from homebrew
Downloading Python-3.8.4.tar.xz...
-> https://www.python.org/ftp/python/3.8.4/Python-3.8.4.tar.xz
Installing Python-3.8.4...
python-build: use readline from homebrew
python-build: use zlib from xcode sdk
BUILD FAILED (OS X 11.0.1 using python-build 20180424)
Inspect or clean up the working tree at /var/folders/yy/n5jbz6ds393fy32ljlyvkmkm0000gn/T/python-build.20201207233754.44082
Results logged to /var/folders/yy/n5jbz6ds393fy32ljlyvkmkm0000gn/T/python-build.20201207233754.44082.log
Last 10 log lines:
mod_name, mod_spec, code = _get_module_details(mod_name)
File "/private/var/folders/yy/n5jbz6ds393fy32ljlyvkmkm0000gn/T/python-build.20201207233754.44082/Python-3.8.4/Lib/runpy.py", line 144, in _get_module_details
return _get_module_details(pkg_main_name, error)
File "/private/var/folders/yy/n5jbz6ds393fy32ljlyvkmkm0000gn/T/python-build.20201207233754.44082/Python-3.8.4/Lib/runpy.py", line 111, in _get_module_details
__import__(pkg_name)
File "<frozen zipimport>", line 241, in load_module
File "<frozen zipimport>", line 709, in _get_module_code
File "<frozen zipimport>", line 570, in _get_data
zipimport.ZipImportError: can't decompress data; zlib not available
make: *** [install] Error 1
同じようなログが出力されてインストールに失敗している場合、今回の対処法は有効だと思います。
対処法
STEP
Homebrew でパッケージをインストール
下記コマンドでパッケージをインストールします。
brew install zlib bzip2
STEP
環境変数を設定
下記コマンドで環境変数を設定します。
export LDFLAGS="-L/usr/local/opt/bzip2/lib -L/usr/local/opt/zlib/lib"
export CPPFLAGS="-I/usr/local/opt/bzip2/include -I/usr/local/opt/zlib/include"
STEP
pyenv で Python をインストール
あとは今まで通り pyenv で Python をインストールします。
pyenv install xxxxxx
まとめ
今回は、
- Mac を使用している
- Mac のパッケージ管理に Homebrew を使用している
- Python のバージョン管理に pyenv を使用している
- macOS を Big Sur にアップしたら、pyenv による Pythonのインストールができなくなった
上記の方向けに、pyenv で Python をインストールできるようにするための対処法をご紹介しました。
今回、私が遭遇した pyenv で Python がインストールできなくなる現象は Github で Issue にもなっていて、今回紹介した方法以外の対処法についても議論されているので、今回の方法で解消されなかった方はこちらも確認してみてください。
Build failed on MacOs Big Sur · Issue #1746 · pyenv/pyenv
After installing pyenv on MacOs Big Sur, can’t install any version of python. Anyone can help me?
以上です。
コメント