まとめ
-
Homebrew
にあるpython
のフォーミュラ名がDeleted Formulae
になっていた-
python
からpython3.7
/python3.8
とバージョン付きに変更になったみたい
-
-
pip3
を使ってパッケージをアップデートしようとしたらエラーがでて困った・・・-
pip3.8
を使ってpip
をアップデートする必要があった
-
$ pip3.8 install -U pip
TL:DR;
フォーミュラの更新を確認した
- いつもどおり
brew update
でフォーミュラの更新がないか確認した -
Deleted Formulae
にpython
とあって少しだけ「大丈夫かな?」と思った
$ 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