Python 3.7を利用してTensorflowをインストール、実行していましたが、3.6から3.7に変わったことで様々なエラーが発生するようになったため、ダウングレードすることにしました。
その方法は、次のようにpyenvコマンドをbrewコマンドでインストールします。そして、pyenvコマンドを用いて、Python 3.6.6をインストールし、それをグローバルで利用するように設定するだけです。
# brew install pyenv # pyenv install 3.6.6 # pyenv global 3.6.6
インストール中にエラーが発生する場合の対処法
pyenvコマンドを使って、特定のバージョンのpythonをインストールしようとした場合、次のようなエラーが発生することがあります。
Last 10 log lines: File "/private/var/folders/gx/sy1d2lpn1mjc9l_0jb09d959zq7r5m/T/python-build.20190101142435.14084/Python-3.6.6/Lib/ensurepip/__main__.py", line 5, in <module> sys.exit(ensurepip._main()) File "/private/var/folders/gx/sy1d2lpn1mjc9l_0jb09d959zq7r5m/T/python-build.20190101142435.14084/Python-3.6.6/Lib/ensurepip/__init__.py", line 204, in _main default_pip=args.default_pip, File "/private/var/folders/gx/sy1d2lpn1mjc9l_0jb09d959zq7r5m/T/python-build.20190101142435.14084/Python-3.6.6/Lib/ensurepip/__init__.py", line 117, in _bootstrap return _run_pip(args + [p[0] for p in _PROJECTS], additional_paths) File "/private/var/folders/gx/sy1d2lpn1mjc9l_0jb09d959zq7r5m/T/python-build.20190101142435.14084/Python-3.6.6/Lib/ensurepip/__init__.py", line 27, in _run_pip import pip._internal zipimport.ZipImportError: can't decompress data; zlib not available make: *** [install] Error 1
これは、zlibというライブラリが必要だがインストールされていないという意味だと思い、次のコマンドを実行してzlibをインストールしましたが、エラーは解決しませんでした。
# brew install zlib
調べてみると、Mojaveのxcode-selectの最新版にはmacOSX のヘッダファイルが入っていないことが原因のようで、次のコマンドを実行して、それをインストールする必要があるようです。
# sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
参考サイト