pip
を使用してパッケージをインストールすると、必要なすべてのパッケージも一緒にインストールされます(依存関係)。そのパッケージをアンインストールすると、依存パッケージも削除されますか?
いいえ、依存関係パッケージはアンインストールしません。
$ pip install specloud
$ pip freeze
figleaf == 0.6.1
nose == 1.1.2
ピノキオ== 0.3
specloud == 0.4.5
$ pip uninstall specloud
$ pip freeze
figleaf == 0.6.1
nose == 1.1.2
ピノキオ== 0.3
ご覧のとおり、すべてのパッケージはまだありますが、specloud
パッケージ自体はありません。
pip-autoremove ユーティリティをインストールして使用すると、パッケージと未使用の依存関係を削除できます。
# install pip-autoremove
pip install pip-autoremove
# remove "somepackage" plus its dependencies:
pip-autoremove somepackage -y
このbash行を使用して、パッケージの依存関係を正常に削除しました。
for dep in $(pip show somepackage | grep Requires | sed 's/Requires: //g; s/,//g') ; do pip uninstall -y $dep ; done
これはpip 1.5.4で機能しました
https://github.com/cls1991/pef を試してみてください。すべての依存関係を持つパッケージを削除します。