问题:使用“ pip”卸载软件包还会删除相关软件包吗?
当您pip
用来安装软件包时,所有必需的软件包也会随之安装(依赖关系)。卸载该软件包还会删除从属软件包吗?
回答 0
不,它不会卸载依赖包。它仅删除指定的软件包:
$ pip install specloud
$ pip freeze # all the packages here are dependencies of specloud package
figleaf == 0.6.1
鼻子== 1.1.2
pinocchio == 0.3
specloud == 0.4.5
$ pip uninstall specloud
$ pip freeze
figleaf == 0.6.1
鼻子== 1.1.2
匹诺曹== 0.3
如您所见,这些程序包是来自的依赖项specloud
,它们仍然存在,但不是specloud
程序包本身。
如下所述,您可以安装并使用pip-autoremove实用程序删除软件包以及未使用的依赖项。
回答 1
您可以安装并使用pip-autoremove实用程序删除软件包以及未使用的依赖项。
# install pip-autoremove
pip install pip-autoremove
# remove "somepackage" plus its dependencies:
pip-autoremove somepackage -y
回答 2
我已经使用以下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上有效
回答 3
我发现了解决方案,尽管对于某些人来说可能有点困难。
第一步(适用于python3和linux):
pip3 install pip-autoremove
第二步:
cd /home/usernamegoeshere/.local/bin/
第三步:
gedit /home/usernamegoeshere/.local/lib/python3.8/site-packages/ pip_autoremove.py
并将所有pip更改为pip3第四步:./ pip-autoremove packagenamegoeshere
至少,这是对我有用的…
回答 4
您可以尝试使用https://github.com/cls1991/pef。它将删除软件包及其所有依赖项。
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。