Python3.8をHomebrewでインストールしようとした中で理解した事をメモ(2020/07追記あり)

Python

Python3.8がリリースされた、と聞いてあのwalrus operator(こんな奴 :=)を使って見たいな、とミーハー根性から手持ちのMacに早速インストールしたのだが、今までのインストールと整合性がつかなくなったので、修正した際に調べたことを下記にまとめておきます。

問題:違う方法でPython3.8をインストールしてしまった

元々Python3.7をHomebrewでインストールしていたのに、3.8をインストールするにあたって間違って公式のものをインストールしてしまった。

結果、下記フォルダにインストールされてしまった。

/Library/Frameworks/Python.framework

2.7や3.7は

/usr/local/Cellar/

に保存されているので結構気持ち悪い。
先で問題がでそうな気がするので、改善を目指す。

解決法:公式でインストールした3.8を削除、改めてHomebrewでインストール。

探したものの3.8単体の記事はない。そらそうか。公開されたばかりだし。

と、探しているうちに、見つけたPython公式のアンインストールについて紹介した記事。
こちらはPython3.4, 3.5に関する記事だが、記載内容に違和感を感じないので、丸参照させて頂く。
書かれている通り、間違っていたら勘弁な!という事だそうなので、やるなら自己責任で。

現状何も不具合はおきていません。
とても参考になり、助かりました。ありがとうございます。

ちなみに、記載手順の中で、 シンボリックリンクを削除と言うのがあるが、お恥ずかしながらここで少々つまづいた。例えば、下記の項目があるとする。

$ ls -l /usr/local/bin | grep Python
lrwxr-xr-x  1 root            wheel     70 10 17 20:16 2to3-3.8 -> ../../../Library/Frameworks/Python.framework/Versions/3.8/bin/2to3-3.8

Library/Frameworks/Python.framework/Versions/3.8/bin/2to3-3.8の部分はあくまでシンボリックリンクのリンク先。
前の段階で自分で削除ずみです。
今探して削除するのは/usr/local/binにあるエイリアス”2to3-3.8”です。

そんな初心者的悩みをしながらですが、一旦公式でインストールしたPython3.8を削除する事が出来ました。

削除できたか確認。
python3.7では出てくる場所がpython3.8では何も出力されない。
無事削除できた様です。

$ which python3.7
/usr/local/bin/python3.7

$ which python3.8

改めてPython3.8をインポートしようと思ったけれど

さて、Python3.8のインポート、まずはupgradeのコマンドで。

$ brew upgrade python3

Updating Homebrew...
==> Auto-updated Homebrew!
Updated 3 taps (homebrew/core, homebrew/cask and caskroom/cask).
==> Updated Formulae
(中略)
<br>Error: python3 3.7.4_1 already installed

あれ?3.7.4_1?

試しに”brew install python3.8”と名指しでインストールできるか入力。
下記Errorが返ってきた。

$ brew install python3.8
Updating Homebrew...
Error: No available formula with the name "python3.8"
==> Searching for a previously deleted formula (in the last month)...
Error: No previously deleted formula found.
==> Searching for similarly named formulae...
Error: No similarly named formulae found.
==> Searching taps...
==> Searching taps on GitHub...
Error: No formulae found in taps.

Errorの文字にビビり、公式Python3.8の消し方が悪かったのか?と青ざめるも、出てきたメッセージをよくよく見てみると

Error: No available formula with the name “python3.8”

とある。

もしかしたらHome brewでまだ対応されていないことか。

と思って調べてみたら3日前のこのコメントを見た。

Add Python 3.8.0 (stable release) by jerbob · Pull Request #1416 · pyenv/pyenv
Adds the Python 3.8.0 stable release to python-build.

”Homebrew are in the process of adding Python 3.8.0”

対応に少し時間がかかっている、という事らしい。
様子を見ると共に、次回の更新時はこの記事を見ながら対応する事としたい。
(2020/7/11追記:とうとうHomebrewのupgradeで3.8に更新される様になっていた。携わった技術者の皆様には感謝しかありません。)

今回も色々得るものがありました。情報共有感謝。

コメント

タイトルとURLをコピーしました