大分混乱した状態になってしまったので、今年何が変わってきたのか、今回の変更でどこまでもどったのかを整理しておきます。
1/19
python
という formula が python
コマンドをインストールしなくなりました。 python コマンドを起動すると、通常は /usr/bin/python
が起動するようになりました。
3/2
python
という formula が Python 3 になり、 Python 2.7 は python@2
になりました。
python
formula (Python 3) が python
コマンドをインストールするようになったので、 python
コマンドを起動すると通常は Python 3 が起動するようになりました。これが npm の gyp とか色んな所をぶっ壊す変更になっていました。
一方 python@2
formula は keg-only になっていたので、デフォルトではコマンドがインストールされず、必要に応じて brew link --force python@2
などする必要がありました。
コマンド名以外の変更として、多くの formula から depends_on "python"
が消されました。今までは依存関係で python (Python 2) がインストールされることが多かったのが、システムの Python を使うようになります。
しかし、 vim など一部の formula では depends_on "python"
が残っています。これらは Python 3 に依存するようになりました。
3/10
python@2
が keg-only でなくなりました。 python
formula は python3
コマンドだけを提供し、 python@2
formula が python
と python2
コマンドを提供するようになりました。 python
コマンドが /usr/bin/python
でなく Homebrew の Python 2 を起動するということで、この点については 1/19 以前の状態にまで戻りました。
1/19 以前の状態と現在の状態を比べると、次のようになります。
- Python 2 の formula 名が
python
からpython@2
になり、 Python 3 の formula 名がpython3
からpython
になった。 - 多くのパッケージから
depends_on "python"
が消えた。依存で Python がインストールされることが減り、代わりに macOSの /usr/bin/python が使われるようになった。brew install python@2
をすることで macOS ではなく Homebrew の Python 2を使うことも可能で、そうすれば今まで通りの動作になる。 - vim, macvim など幾つかのパッケージは、
depends_on "python"
のまま、 Python 2 依存から Python 3 依存に切り替わった。オプションで Python 2 を使うようにビルドすることもできるが、 bottle が提供されるのはデフォルトの Python 3 依存版。
最終的に一番妥当な形に落ち着いたと思います。
これから 2020 年に向けて、 Python 3 をサポートしているソフトウェアには depends_on "python"
を追加して、 Python 2 ではなく Python 3 上で動くようにしていくと良いと思います。