この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。
サーバーレス開発部の藤井です。
pyenv install
でzipimport.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にしたのは最近なので、今更ですがハマりました……。