Python問題集を解いてみよう!!

macOS Big Sur で pyenv による Python のインストールに失敗する場合の対処法

URLをコピーする
URLをコピーしました!

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 にもなっていて、今回紹介した方法以外の対処法についても議論されているので、今回の方法で解消されなかった方はこちらも確認してみてください。

以上です。

スポンサーリンク

この記事が気に入ったら
フォローしてね!

よかったらシェアしてね!
URLをコピーする
URLをコピーしました!

コメント

コメントする

目次
閉じる