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日前のこのコメントを見た。
”Homebrew are in the process of adding Python 3.8.0”
対応に少し時間がかかっている、という事らしい。
様子を見ると共に、次回の更新時はこの記事を見ながら対応する事としたい。
(2020/7/11追記:とうとうHomebrewのupgradeで3.8に更新される様になっていた。携わった技術者の皆様には感謝しかありません。)
今回も色々得るものがありました。情報共有感謝。
コメント