Удаление пакета с помощью «pip» также удаляет зависимые пакеты? - PullRequest
108 голосов
/ 27 октября 2011

Когда вы используете pip для установки пакета, все необходимые пакеты также будут установлены вместе с ним (зависимости). Удаление этого пакета также удаляет зависимые пакеты?

Ответы [ 4 ]

168 голосов
/ 31 декабря 2014

Вы можете установить и использовать утилиту pip-autoremove для удаления пакета плюс неиспользуемые зависимости.

# install pip-autoremove
pip install pip-autoremove
# remove "somepackage" plus its dependencies:
pip-autoremove somepackage -y
61 голосов
/ 23 апреля 2012

Нет, он не удаляет пакеты зависимостей:

$ pip install specloud
$ pip freeze

figleaf == 0.6.1
nose == 1.1.2
pinocchio == 0.3
specloud == 0.4.5

$ pip uninstall specloud
$ pip freeze

фиговый лист == 0.6.1
нос == 1.1.2
буратино == 0.3

Как видите, все пакеты все еще там, но не сам пакет specloud.

7 голосов
/ 21 сентября 2015

Я успешно удалил зависимости пакета с помощью этой строки bash:

for dep in $(pip show somepackage | grep Requires | sed 's/Requires: //g; s/,//g') ; do pip uninstall -y $dep ; done

это сработало на пипе 1.5.4

0 голосов
/ 26 декабря 2017

Вы можете попробовать https://github.com/cls1991/pef. Он удалит пакет со всеми его зависимостями.

...