当你使用pip来安装一个包时,所有必需的包也会随它一起安装(依赖)。卸载该包是否也会删除依赖的包?
pip
不,它不会卸载依赖包。它只删除指定的包:
$ pip install specloud $ pip freeze # all the packages here are dependencies of specloud package
< p >遮羞布= = 0.6.1 鼻子= = 1.1.2 匹诺曹= = 0.3 specloud = = 0.4.5 < / p >
$ pip uninstall specloud $ pip freeze
< p >遮羞布= = 0.6.1 鼻子= = 1.1.2 匹诺曹= = 0.3 < / p >
正如你所看到的,这些包是specloud的依赖项,它们仍然存在,但不是specloud包本身。
specloud
如下面所述,您可以安装并使用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上有效
我已经找到了解决方案,尽管对一些人来说可能有点困难。
第一步(对于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 第四步:< / p >
./pip-autoremove packagenamegoeshere
至少,这对我有用……