pyenv installで zlib not available の解決方法

こんばんはエンジニアの眠れない夜です。

pyenv installで zlib not available が出た時の対策方法を紹介します。

環境はmacOS Mojave 10.14.6です。

一般的なzlib not availableの解決方法

原因はこちらのブログにあるように

XcodeのCommand Line ToolsにmacOS Mojave 10.14用のmacOS SDKヘッダがインストールされていないからです。

だそうです。

以前、Xcodeは入れたので入っているものと思っていましたが、確認してみるとopenのところをクリックすると何やらインストールしろと言われました…

Xcode

その後一応OSのアップデートを確認して

mac os update

普通ならターミナルでこちらのコマンドを実行すると直るみたいです。

$ sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /

しかし、私の環境ではファイルが無い言われました。なんで(゜o゜;?

open /Library/Developer/CommandLineTools/でディレクトリを開いて見てみると、Packagesフォルダがありませんでした。

この辺りから参考にしている記事や他の記事と状態が違うところですね…

Packagesが無い時の直し方

まずはzlibをインストールします。

brew install zlib

既にインストールされていると出ました。

ということで、パスの設定をします。

export LDFLAGS="-L/usr/local/opt/zlib/lib"
export CPPFLAGS="-I/usr/local/opt/zlib/include"

それからpyenv install PYTHON_VERSIONを入力します。

pyenv install 3.7.2

これで無事にインストールできました!

このままだと再起動すると設定が消えてしまうので、 ~/.bash_profile

export LDFLAGS="-L/usr/local/opt/zlib/lib"
export CPPFLAGS="-I/usr/local/opt/zlib/include"

を追記しておきましょう。

まとめ

結局の所、pyenvを使ったときにzlibにパスが通っていなかったという落ちでした。

色々、回り回って到達したのでなかなか苦戦しました…(;´Д`)

途中でOSのアップデートをしていますがそこは無くても大丈夫だと思います。

これでMacでzlib not availableに苦しめられる人が一人でも減りますように(^人^)

2 Comments

コメントを残す

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください