当您使用pip安装一个软件包时,所有必需的软件包也将随它一起安装(依赖项)。卸载该软件包是否也会删除依赖的软件包?
pip
vd8tlhqk1#
您可以安装并使用pip-autoremove实用程序来删除软件包和未使用的依赖项。
# install pip-autoremove pip install pip-autoremove # remove "somepackage" plus its dependencies: pip-autoremove somepackage -y
kmb7vmvb2#
不,它不会卸载依赖包。它只删除指定的包:
$ pip install specloud $ pip freeze # all the packages here are dependencies of specloud package
figleaf==0.6.1鼻子==1.1.2pinocchio==0.3spectloud ==0。4.5
$ pip uninstall specloud $ pip freeze
figleaf==0.6.1鼻子==1.1.2pinocchio==0.3正如您所看到的,这些包是specloud的依赖项,它们仍然存在,但不是specloud包本身。如下所述,您可以安装并使用pip-autoremove实用程序来删除软件包和未使用的依赖项。
specloud
f0brbegy3#
我已经成功地使用bash行删除了一个包的依赖项:
for dep in $(pip show somepackage | grep Requires | sed 's/Requires: //g; s/,//g') ; do pip uninstall -y $dep ; done
这在PIP1上起作用。5.4
5lwkijsr4#
我已经找到了解决方案,尽管对一些人来说可能有点困难。第一步(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
至少,这是对我有效的。..
erhoui1w5#
你可以试试https://github.com/cls1991/pef。它将删除包及其所有依赖项。
x7rlezfr6#
一个简单的pipx。x uninstall module_name为我在RHEL7上卸载了一个Python包。是的,它也删除了所有的依赖。ex:pip3.6卸载pandas
6条答案
按热度按时间vd8tlhqk1#
您可以安装并使用pip-autoremove实用程序来删除软件包和未使用的依赖项。
kmb7vmvb2#
不,它不会卸载依赖包。它只删除指定的包:
figleaf==0.6.1
鼻子==1.1.2
pinocchio==0.3
spectloud ==0。4.5
figleaf==0.6.1
鼻子==1.1.2
pinocchio==0.3
正如您所看到的,这些包是
specloud
的依赖项,它们仍然存在,但不是specloud
包本身。如下所述,您可以安装并使用pip-autoremove实用程序来删除软件包和未使用的依赖项。
f0brbegy3#
我已经成功地使用bash行删除了一个包的依赖项:
这在PIP1上起作用。5.4
5lwkijsr4#
我已经找到了解决方案,尽管对一些人来说可能有点困难。
第一步(python3和linux):
第二步:
第三步:
并将所有pip更改为pip3
第四步:
至少,这是对我有效的。..
erhoui1w5#
你可以试试https://github.com/cls1991/pef。它将删除包及其所有依赖项。
x7rlezfr6#
一个简单的pipx。x uninstall module_name为我在RHEL7上卸载了一个Python包。是的,它也删除了所有的依赖。
ex:pip3.6卸载pandas