環境
macOS 15.5
mise 2025.9.23
本題
起きたこと
気がつくとターミナルのウィンドウを立ち上げて使用できるようになるまで30秒位かかっていました。
そしてターミナルが急に落ちることもしばしば起きていました。
そんなにメモリやCPUを使いまくる作業はしておらず、同様の環境で業務をしている同僚の手元ではそんなことは起きていないということでした。
原因調査
疑問を抱きつつもアクティビティモニタを見てみると、無限のmiseプロセスが起動していることが発覚。
しかも一個一個のプロセスが10%以上のCPUを使用している状況です。
なんだ?と思ったらどうやらAmazon Q CLIを起動した際に大量のmise/shims/python3プロセスが起動していました。
たしかにターミナルが落ちるのはいつもQを起動している時な気がする…。
ということで一旦手動でこれらをkillした後、調査&解消していきます。
まずは状況を確認してみます。
$ which python
/Users/XXXXX/.local/share/mise/shims/python3
$ python --version
# 応答なし
$ mise list | grep python
# 該当なし
miseでPythonをインストールしていないのに、 Pythonの場所はmiseの下を示しています。
これは確かにおかしい。Pythonそのものはない。
どうやらPython設定が不正でshimが応答しない状態になり、mise shimsを無限に呼んでしまっているようでした。
解決
ということでmiseでPythonをインストールして、設定を完了すれば問題は解決しました。
$ mise install python@3.13.9
$ mise use -g python@3.13.9
mise ~/.config/mise/config.toml tools: python@3.13.9
$ python --version
Python 3.13.9
$ which python3
/Users/XXXXX/.mise/installs/python/3.13.9/bin/python3
無事 python --version の結果も返ってきて、python3の場所も正常なところを示すようになりました。
そしてその後、改めてAmazon Qを起動してみましたが、以前のように無限のプロセスが起動することはなく、ターミナルの起動も速くなり、PCに平穏が訪れました👏
おまけ
mise/shimsとは
mise/shimsは、miseが作成する「偽物の実行ファイル」が入っているフォルダです。
例えば下記の3つのバージョンがインストールされているとします。
- Python 3.8.0
- Python 3.9.0
- Python 3.11.0
通常なら「どのpythonコマンドを使うか」を毎回指定する必要がありますが、mise/shimsの中にあるpythonという偽物ファイルが、「今いるプロジェクト
に適したバージョン」を自動で選んで実行してくれます。
プロジェクトAではPython 3.8、プロジェクトBではPython 3.11を使いたいような場合に、フォルダを移動するだけで自動的に適切なバージョンが使われます。
仕組み
- pythonコマンドを実行
- mise/shimsの偽物pythonが起動
- 現在のディレクトリを確認
- 適切なバージョンの本物のpythonを呼び出し
