LoginSignup
47
38

More than 3 years have passed since last update.

Homebrew から Python が消えた・・・

Last updated at Posted at 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
47
38
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
47
38