macOS Mojave に Python 3.6 環境を構築する

Satoshi Oikawa
Jun 11 · 5 min read

macOS Mojave で Python 3.6 系をインストールする場合に,いつくかハマりどころがあったのでトラブルシューティングとして記事にしておきます。

brew で Python3 をインストールすると 3.7系がインストールされる

$ brew install python3
$ python3 --version
Python 3.7.7


明示的にバージョンを3.6.5に固定して brew install します。

$ brew unlink python$ brew install --ignore-dependencies$ brew switch python 3.6.5_1$ python3 --version
Python 3.6.5
$ which python3

以上で,無事にPython 3.6 系のインストール完了です。

上記で解決できたのですが,pyenv を使って Python 3.6 にダウングレードする方法でも試したので残しておきます。ハマりどころは Mojave だとSDK Headers をインストールする必要があることです。

$ xcode-select --install# optional, but recommended:
brew install openssl readline sqlite3 xz zlib
$ sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
$ pyenv install 3.6.8

下記エラーが表示された場合は,SDK headers のインストールが必要です。

File "/private/var/folders/x9/xxx/T/pip-install-amimhs0g/Pillow/", line 582, in build_extensions
raise RequiredDependencyException(f)
__main__.RequiredDependencyException: zlib
During handling of the above exception, another exception occurred:Traceback (most recent call last):
File "<string>", line 1, in <module>
File "/private/var/folders/x9/xxx/T/pip-install-amimhs0g/Pillow/", line 806, in <module>
raise RequiredDependencyException(msg)
The headers or library files could not be found for zlib,
a required dependency when compiling Pillow from source.
Please see the install instructions at:
ERROR: Failed building wheel for Pillow

Satoshi Oikawa

Written by

Product and Engineering guy.