pyenvでpythonをインストールしようとすると以下のようなエラーが発生しつまりましたので、その解決策を忘備録として残しておきます。
pyenv install 3.7.4
python-build: use openssl@1.1 from homebrew python-build: use readline from homebrew Downloading Python-3.7.4.tar.xz... -> https://www.python.org/ftp/python/3.7.4/Python-3.7.4.tar.xz Installing Python-3.7.4... python-build: use readline from homebrew python-build: use zlib from xcode sdk ... ModuleNotFoundError: No module named 'pyexpat' make: *** [install] Error 1
MacのCommand Line Toolのバージョンを上げる
このIssueのコメントでは、Command Line Toolをインストールし直したらいけたとか、バージョンを11にしたらいけたとかありましたので、バージョンを上げています。
pkgutil --pkg-info=com.apple.pkg.CLTools_Executables
で、現在のバージョンを確認すると 10 でした。
package-id: com.apple.pkg.CLTools_Executables version: 10.2.1.0.1.1554506761 volume: / location: / install-time: 1555647017 groups: com.apple.FindSystemFiles.pkg-group
https://developer.apple.com/download/more/?=command%20line%20toolsからから 11 (beta版) をインストールします。
インストール後、 11 になっているのを確認します。
package-id: com.apple.pkg.CLTools_Executables version: 11.0.0.0.1.1560537986 volume: / location: / install-time: 1563027541 groups: com.apple.FindSystemFiles.pkg-group
再度、pyenvでインストールしようとすると別のエラーが発生しました。。
python-build: use openssl@1.1 from homebrew python-build: use readline from homebrew Downloading Python-3.7.4.tar.xz... -> https://www.python.org/ftp/python/3.7.4/Python-3.7.4.tar.xz Installing Python-3.7.4... python-build: use readline from homebrew python-build: use zlib from xcode sdk ERROR: The Python ssl extension was not compiled. Missing the OpenSSL lib? ...
OpenSSLのパスを通す
OpenSSLのパスが通っていないようなのでパスを通します。
export CFLAGS="-I$(brew --prefix openssl)/include" export LDFLAGS="-L$(brew --prefix openssl)/lib"
再度、インストールすると、無事成功しました。