brewでバージョンを下げる
brew switchがそれっぽい予感はするものの、既になくなったサブコマンドらしい。
code:sh
% brew unlink python
Unlinking /opt/homebrew/Cellar/python@3.12/3.12.3... 25 symlinks removed.
% brew link python@3.11
Warning: Already linked: /opt/homebrew/Cellar/python@3.11/3.11.9
To relink, run:
brew unlink python@3.11 && brew link python@3.11
% python3 -V
Python 3.9.6
なんかよくわからないけど3.9.6まで下がった。
とりあえずgcloud components updateができたからこのバージョンでもいいか……。
無事gcloud components updateが終わったら、今度は3.12に帰りたい。
code:sh
% brew link python
Linking /opt/homebrew/Cellar/python@3.12/3.12.3... 25 symlinks created.
% python3 -V
Python 3.12.3
なんか戻った気がする。
brew link python@3.11は3.11そのものへのlinkを作るものっぽい……?
じゃあなんでunlink pythonしたら3.9が出たんだろう?
よくわからないけど、今回は望むことは達成できたからこれでいいか……。
なんで突然3.9が出たかは、systemのものが出たんでは? となった。
code:sh
% brew unlink python
Unlinking /opt/homebrew/Cellar/python@3.12/3.12.3... 25 symlinks removed.
% which python3
/usr/bin/python3
% python3 -V
Python 3.9.6
brew link python@3.11が作る何かというのは、python3.11コマンドぽい感じがする。
code:sh
% python3.11 -V
Python 3.11.9
% brew unlink python@3.11
Unlinking /opt/homebrew/Cellar/python@3.11/3.11.9... 11 symlinks removed.
% python3.11 -V
zsh: command not found: python3.11
ためしにunlinkすると消滅する。
なんかうまいコマンドを叩くと、python3 -V で3.11系が出るようになりそうだが……?
実はそういうことはできないっぽい?
/opt/homebrew/opt/python@3.11/libexec/bin/python3 とかはあるので、PATHの先頭に/opt/homebrew/opt/python@3.11/libexec/binをつっこんでやると、それっぽく動作するのか……?
しかし、例えばPATH=/opt/homebrew/opt/python@3.11/libexec/bin:$PATH gcloud components updateなどを叩いて、実は他の環境変数とかも変えてあげる必要があったりして混ざって終了 みたいな出来事が発生しないのか……? という不安が少しあるような……。
それで困らない範囲なら、単にbrew unlink pythonでsystemの3.9に戻って実行する などしたほうが安全では……? という予感もする……?
`