Macの ~/.pyenv/versions とは。古いバージョンは削除できるか
使わなくなったPythonのバージョンは削除できますが、pyenv で行い、先に何がそれに依存しているかを確認してください。各バージョンには専用のインストール済みパッケージが入っており、そのバージョンをもとに作った仮想環境は、削除すると動かなくなります。
場所
~/.pyenv/versionsこれは何か
pyenvは、Pythonの各バージョンを ~/.pyenv/versions の専用フォルダにインストールします。Macでは通常、Pythonをソースからコンパイルするため、各フォルダはそれぞれ独立した完全なPythonです。
あるバージョンが有効なときに pip でインストールしたパッケージは、そのバージョンのフォルダに入ります。pyenv-virtualenv プラグインを使っている場合は、仮想環境もここに保存されます。
大きくなるのは、新しいバージョンが古いバージョンの隣に追加され、それを削除するものが何もないからです。データサイエンスのライブラリなど、大きなパッケージのある環境があると、個々のバージョンがずっと大きくなります。
どのくらい大きくなるか
何も追加していないバージョンは1つで数百MBです。多くのパッケージをインストールしたバージョンや環境は、数GBに達することがあります。
手動で消去する方法
- 下記のコマンドを実行して、インストールされているバージョンと環境を一覧表示します。アスタリスクの付いたものが、現在のフォルダで有効なバージョンです。
- プロジェクトがどのバージョンを使っているかを確認します。たとえば、.python-version ファイルを見ます。
- 不要なものは、pyenv uninstall のあとに、一覧に表示されているとおりの名前を付けて実行し、削除します。
- 削除したバージョンをもとに別の場所で作成した仮想環境は動かなくなり、別のバージョンから作り直す必要があります。
pyenv versions削除したあとはどうなるか
削除したバージョンと、そこにインストールしたすべてのパッケージがなくなります。pyenv install でもう一度ビルドできますが、数分かかり、そのあと必要なパッケージをインストールし直すことになります。
Diskzyでの扱い
Diskzyは、~/.pyenv を各バージョンのサイズとともにディスクマップに表示するので、大きいものを簡単に見つけられます。プロジェクトの仮想環境は、「Clean up」(クリーンアップ)タブでプロジェクトのビルドフォルダとして別に見つかります。
関連ガイド
- pip cache~/Library/Caches/pip
- uv cache~/.cache/uv
- Conda package cache~/miniconda3/pkgs (or ~/anaconda3/pkgs)
- nvm versions~/.nvm/versions/node
Macの空き領域がどこに消えたのかを確認
Diskzyはディスク全体をマップにし、システムデータの内訳を示し、安全なものを消去します。72時間は無料、その後は$9の買い切りでMac 2台まで使えます。
Diskzyを無料で試す