当您使用pip安装一个包时,所有必需的包也将随它一起安装(依赖项)。卸载该包是否也会删除依赖的包?


不,它不会卸载依赖包。它只删除指定的包:

$ pip install specloud
$ pip freeze # all the packages here are dependencies of specloud package

figleaf = = 0。6。 鼻= = 1。1。2 匹诺曹= 0。3 5 specloud = = 0。4。

$ pip uninstall specloud
$ pip freeze

figleaf = = 0。6。 鼻= = 1。1。2 匹诺曹= 0。3

正如你所看到的,这些包是来自云计算的依赖项,它们仍然存在,但不是云计算包本身。

如下面所述,您可以安装并使用pip-autoremove实用程序来删除包和未使用的依赖项。


您可以安装并使用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。 它将删除包及其所有依赖项。


我已经找到了解决方案,尽管对一些人来说可能有点困难。

第一步(对于python3和linux):

pip3 install pip-autoremove  

步骤2:

cd /home/usernamegoeshere/.local/bin/  

第三步:

gedit /home/usernamegoeshere/.local/lib/python3.8/site-packages/pip_autoremove.py  

并将所有pip(s)更改为pip3 第四步:

./pip-autoremove packagenamegoeshere  

至少,这对我有用……