pyenv installで「zipimport.ZipImportError」が発生したときにやったこと(masOS Mojave)

「pyenv install」で「zipimport.ZipImportError」というエラーが出たので、やったことをまとめました。
2019.06.10

サーバーレス開発部の藤井です。

pyenv installzipimport.ZipImportErrorというエラーが出たので、やったことをまとめました。

$ pyenv install 3.6.8
(略)
zipimport.ZipImportError: can't decompress data; zlib not available

環境

項目 バージョン
macOS Mojave 10.14.5

やってみた

1. 現状確認

下記を参考にしましたが、/Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkgが存在しませんでした。

$ sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
installer: Error - the package path specified was invalid: '/Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg'.

念のため確認します。

$ ls/Library/Developer/CommandLineTools/
usr

無かった。悲しい。

2. Xcodeのコマンドライン・ディベロッパ・ツールを入れる

Xcodeのコマンドライン・ディベロッパ・ツールが入っていないのでは? と思いましたが、入ってるように見えます。(違うやつ?)

$ xcodebuild -version
Xcode 10.2.1
Build version 10E1001

が、xcode-select --installを実行すると、「入ってないから入れてね」と言われました。

$ xcode-select --install
xcode-select: note: install requested for command line developer tools

素直にインストールします。

コマンドライン・ディベロッパ・ツールのインストール

導入後に確認してみると、macOS_SDK_headers_for_macOS_10.14.pkgがありました!

$ ls /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg
/Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg

3. 再チャレンジ

冒頭のコマンドを実行し、うまくできました!

$ sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
installer: Package name is macOS_SDK_headers_for_macOS_10.14
installer: Installing at base path /
installer: The install was successful.

続いて、pyenv installに再チャレンジです!

$ pyenv install 3.6.8
python-build: use openssl from homebrew
python-build: use readline from homebrew
Installing Python-3.6.8...
python-build: use readline from homebrew
Installed Python-3.6.8 to /Users/fujii.genki/.pyenv/versions/3.6.8

うまくできました!!!

さいごに

Mojaveにしたのは最近なので、今更ですがハマりました……。

参考