- Published on
macOS Mojave に Python 3.6 環境を構築する
- Authors
- Name
- Satoshi Oikawa
- https://x.com/oikwsat
macOS Mojave で Python 3.6 系をインストールする場合に,いつくかハマりどころがあったのでトラブルシューティングとして記事にしておきます。
brew で Python3 をインストールすると 3.7 系がインストールされる
$ brew install python3
$ python3 --version
Python 3.7.7
あえて 3.6 にダウングレードする必要がない場合は完了になります。私の場合は特定のモジュールが 3.7 に対応しておらず,3.6 にダウングレードする必要がありました。
明示的にバージョンを 3.6.5 に固定して brew install します。
$ brew unlink python
$ brew install --ignore-dependencies https://raw.githubusercontent.com/Homebrew/homebrew-core/f2a764ef944b1080be64bd88dca9a1d80130c558/Formula/python.rb
$ 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
pyenv install のエラーログ
下記エラーが表示された場合は,SDK headers のインストールが必要です。
省略
.....
self.build_extensions()
File "/private/var/folders/x9/xxx/T/pip-install-amimhs0g/Pillow/setup.py", 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/setup.py", line 806, in <module>
raise RequiredDependencyException(msg) __main__.RequiredDependencyException:
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:
https://pillow.readthedocs.io/en/latest/installation.html
----------------------------------------
ERROR: Failed building wheel for Pillow
トラブルシューティング時の参考リンクは以下のとおりです。