удаление пакета с помощью "pip" также удаляет зависимые пакеты?

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

<p>нет, он не удаляет пакеты зависимостей:</p><pre><code>$ pip install specloud $ pip freeze </code></pre><blockquote> <p>фиговый листок == 0.6.1<br> == нос 1.1.2<br> пиноккио == 0,3<br> specloud == 0.4.5 </p> </blockquote><pre><code>$ pip uninstall specloud $ pip freeze </code></pre><blockquote> <p>фиговый листок == 0.6.1<br> == нос 1.1.2<br> пиноккио == 0,3</p> </blockquote><p>как видите, все пакеты все еще там, но не сам пакет <code>specloud</code>.</p>

<p>вы можете установить и использовать утилиту <a href="https://github.com/invl/pip-autoremove">pip-autoremove</a> , чтобы удалить пакет плюс неиспользуемые зависимости.</p><pre><code># install pip-autoremove pip install pip-autoremove # remove "somepackage" plus its dependencies: pip-autoremove somepackage -y </code></pre>

<p>я успешно удалил зависимости пакета, используя эту строку:</p><pre><code>for dep in $(pip show somepackage | grep requires | sed 's/requires: //g; s/,//g') ; do pip uninstall -y $dep ; done </code></pre><p>это сработало на пипе 1.5.4</p>

<p>вы можете попробовать <a href="https://github.com/cls1991/pef">https://github.com/cls1991/pef</a> . он удалит пакет со всеми его зависимостями.</p>