先日、macOS High SierraからmacOS Mojave 10.14にOS更新かけました。
その後pyenv 1.2.7で新しいpythonバージョンをインストールしようとすると、よくあるzlibエラーが出るようになりました:
pyenv install 3.6.0
180930202414.28657/Python-3.6.0/Lib/ensurepip/__init__.py", line 27, in _run_pip
import pip
zipimport.ZipImportError: can't decompress data; zlib not available
make: *** [install] Error 1
High Sierra以前ではこれは基本的にxcode-select --install
で直せたが、Mojaveではそう上手く行かないようです。
また、brew install zlib
で試してもzlibが既にインストールされていると表示される。
Warning: zlib 1.2.11 is already installed and up-to-date
To reinstall 1.2.11, run `brew reinstall zlib`
マニュアルで以下をインストールする必要ある:
sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
すると、pyenvでのzlib問題が解決されるはずです(下記のようなものが出ればとりあえずオケ。)
zreactor$ pyenv install 3.6.0
python-build: use openssl from homebrew
python-build: use readline from homebrew
Downloading Python-3.6.0.tar.xz...
-> https://www.python.org/ftp/python/3.6.0/Python-3.6.0.tar.xz
Installing Python-3.6.0...
python-build: use readline from homebrew
Installed Python-3.6.0 to /Users/zreactor/.pyenv/versions/3.6.0
Mac Mojaveリリース直後だからまだxcodeツールで対応が追いついていないという事なのでしょうが、今後解決されると期待ですね。