38

この記事は最終更新日から3年以上が経過しています。

Homebrew から Python が消えた・・・

最終更新日 投稿日 2020年07月09日

まとめ

  • Homebrewにあるpythonのフォーミュラ名が Deleted Formulae になっていた
    • python から python3.7 / python3.8 とバージョン付きに変更になったみたい
  • pip3を使ってパッケージをアップデートしようとしたらエラーがでて困った・・・
    • pip3.8 を使って pip をアップデートする必要があった
$ pip3.8 install -U pip

TL:DR;

フォーミュラの更新を確認した

  • いつもどおりbrew updateでフォーミュラの更新がないか確認した
  • Deleted Formulaepython とあって少しだけ「大丈夫かな?」と思った
$ brew update
Updated 3 taps (homebrew/cask-versions, homebrew/core and homebrew/cask).
==> New Formulae
python@3.7    (他のフォーミュラは省略)
==> Updated Formulae
python@3.8 ✔  (他のフォーミュラは省略)
==> Deleted Formulae
python ✔

更新されたフォーミュラをインストールした

  • 特に注意もせず、いつもどおり brew upgrade を実行した
    • python 3.8.3 から 3.8.3_1にアップグレードされた
  • 引き続き python3 コマンドで使えることを確認した
    • python3 --version で動作確認
$ brew upgrade
==> Upgrading 1 outdated packages:
python@3.8 3.8.3 -> 3.8.3_1
==> Pouring python@3.8-3.8.3_1.catalina.bottle.tar.gz
(いろいろ省略)
See: https://docs.brew.sh/Homebrew-and-Python
==> Summary
🍺  /usr/local/Cellar/python@3.8/3.8.3_1: 4,125 files, 63MB
==> Upgrading python@3.8 3.8.3_1 -> 3.8.3_1 
Removing: /usr/local/Cellar/python@3.8/3.8.3... (4,173 files, 63.9MB)

$ python3 --version
Python 3.8.3

pip3の更新も必要だった

  • パッケージの更新がないか確認しようとしたら、エラーに遭遇
    • 3.7用pipだから使えないよ、みたいなエラー
    • pip3 install -U pipが実行できないから詰んだ、と思った
  • pip3と打って、タブ補完したらpip3.8があることを見つけた
  • pip3.8 install -U pip したら無事に使えるようになった
## pip3のバージョンを確認しただけでエラー
$ pip3 --version
Failed to execute process '/usr/local/bin/pip3'. Reason:
The file '/usr/local/bin/pip3' specified the interpreter '/usr/local/opt/python/bin/python3.7', which is not an executable command.

## pip3.8が使える
$ pip3.8 --version
pip 20.0.2 from /usr/local/lib/python3.8/site-packages/pip (python 3.8)

## pip3自身をアップデート
$ pip3.8 install -U pip
Collecting pip
  Using cached pip-20.1.1-py2.py3-none-any.whl (1.5 MB)
Installing collected packages: pip
  Attempting uninstall: pip
    Found existing installation: pip 20.0.2
    Uninstalling pip-20.0.2:
      Successfully uninstalled pip-20.0.2
Successfully installed pip-20.1.1

## pip3がアップデートされたことを確認
$ pip3 --version
pip 20.1.1 from /usr/local/lib/python3.8/site-packages/pip (python 3.8)

全パッケージの再インストールも必要だった

  • 昨日まで動いていたPythonスクリプトが動かなくなっていた
    • streamlitを使ったスクリプト
    • 原因は pip3 のときと同じ
  • インストール済みのパッケージを確認したら、ごくわずかになっていた
    • エラーに遭遇するたびにインストールし直すしかなさそう
    • ちゃんと pyproject.toml を作っておけば、こんなときに便利なのだろう(poetry見習い)
$ streamlit run app.py
Failed to execute process '/usr/local/bin/streamlit'. Reason:
The file '/usr/local/bin/streamlit' specified the interpreter '/usr/local/opt/python/bin/python3.7', which is not an executable command.

$ pip3 list 
Package    Version
---------- -------
-BB        0.1
gpg        1.13.1
pip        20.1.1
protobuf   3.12.3
setuptools 49.1.0
six        1.15.0
tbb        2019.0
wheel      0.34.2

新規登録して、もっと便利にQiitaを使ってみよう

  1. あなたにマッチした記事をお届けします
  2. 便利な情報をあとで効率的に読み返せます
ログインすると使える機能について
shotakaha
@shotakaha(Shota Takahashi)
素粒子物理学実験してました。とある研究機構の科学広報(仮)です。合気道、自転車、カメラ、登山などします。広く浅く。みでしみん。つくば科学教育マイスター。素粒子のお兄さん。あっぷちゃん。野望:サイエンスゼ〇に出ること。

コメント

HomebrewのPython@3.8ですが、私の環境で試した時には、公式で配布されているものよりも2〜3割程度計算が遅かったです。
現状どうなっているかはわからないですが、公式の方がいいかもしれないですね。
https://qiita.com/sasanquaneuf/items/1c762c20047dc5b9dd49

1

aws-sam-cli がdyldに失敗する現象がでていたのですが、こちらのpythonの名前変更の話題が影響したようでした。
(brew update; brew reinstall aws-sam-cli で解決)

1
あなたもコメントしてみませんか :)
新規登録
すでにアカウントを持っている方はログイン
記事投稿キャンペーン開催中
100万人に伝えたい!失敗を乗り超えた話を共有しよう
~
100万人に届けたい!私のお気に入りガジェット
~
38