pipで入れたパッケージがとっちらかってきたので、不要なものを消したいなーと思っていました。しかし、pipの場合インストールは依存関係を考慮してよしなにやってくれるものの、アンインストール時には指定したパッケージしか消してくれない。
(ちゃんとpyenvなりAnacondaなりで環境整理しろよと言われればそれまでなのですが)
で、ググってみたら便利なものがあるのを見つけました。
pip-autoremove
pip-autoremoveというモジュールを使うと、アンインストール指定したパッケージが依存しているものも一緒に消してくれるとのこと。
インストール
$ pip install pip-autoremove
使い方例
% pip-autoremove pyobjc
pyobjc 6.2.2 (/Users/yoshikiito/.pyenv/versions/3.8.2/lib/python3.8/site-packages)
pyobjc-framework-MapKit 6.2.2 (/Users/yoshikiito/.pyenv/versions/3.8.2/lib/python3.8/site-packages)
(中略)
pyobjc-framework-SecurityInterface 6.2.2 (/Users/yoshikiito/.pyenv/versions/3.8.2/lib/python3.8/site-packages)
Uninstall (y/N)?y
Found existing installation: pyobjc-framework-StoreKit 6.2.2
Uninstalling pyobjc-framework-StoreKit-6.2.2:
(中略)
Uninstalling pyobjc-framework-ExceptionHandling-6.2.2:
Successfully uninstalled pyobjc-framework-ExceptionHandling-6.2.2
%