rcmdnk.com

大分混乱した状態になってしまったので、今年何が変わってきたのか、今回の変更でどこまでもどったのかを整理しておきます。

1/19

python という formula が python コマンドをインストールしなくなりました。 python コマンドを起動すると、通常は /usr/bin/python が起動するようになりました。

1.5.0 — Homebrew

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 になった。

から になり、 Python 3 の formula 名が から になった。 多くのパッケージから depends_on "python" が消えた。依存で Python がインストールされることが減り、代わりに macOSの /usr/bin/python が使われるようになった。 brew install python@2 をすることで macOS ではなく Homebrew の Python 2を使うことも可能で、そうすれば今まで通りの動作になる。

が消えた。依存で Python がインストールされることが減り、代わりに macOSの /usr/bin/python が使われるようになった。 をすることで macOS ではなく Homebrew の Python 2を使うことも可能で、そうすれば今まで通りの動作になる。 vim, macvim など幾つかのパッケージは、 depends_on "python" のまま、 Python 2 依存から Python 3 依存に切り替わった。オプションで Python 2 を使うようにビルドすることもできるが、 bottle が提供されるのはデフォルトの Python 3 依存版。

最終的に一番妥当な形に落ち着いたと思います。