pip 有一个 --user
选项,可以为每个用户安装 Python 包:
pip install --user [python-package-name]
我使用此选项在我没有 root 访问权限的服务器上安装软件包。我现在需要的是卸载当前用户上安装的包。我试图执行这个命令:
pip uninstall --user [python-package-name]
但我得到了:
no such option: --user
除了手动查找和删除包之外,如何卸载我使用 pip install --user
安装的包?
我找到了这篇文章
pip cannot uninstall from per-user site-packages directory
描述不支持从用户目录卸载包。根据文章,如果它被正确实现,那么与
pip uninstall [package-name]
已安装的软件包也将在用户目录中搜索。但是我仍然有一个问题。如果在系统范围和每个用户都安装了相同的软件包怎么办? 如果有人需要针对特定的用户目录怎么办?
最佳答案
在 Linux 上使用 Python 3.5 和 pip 7.1.2 对此进行了测试,情况似乎是这样的:
pip install --user somepackage
安装到$HOME/.local
,卸载它确实可以使用pip uninstall somepackage
.无论
somepackage
是否同时安装在系统范围内都是如此。如果两个地方都安装了包,只会卸载本地的。要使用
pip
在系统范围内卸载软件包,首先在本地卸载它,然后以root
权限再次运行相同的卸载命令。除了预定义的用户安装目录外,
pip install --target somedir somepackage
会将包安装到somedir
。无法使用pip
从这样的地方卸载软件包。 (但在 Github 上有一个有 pip 旧的未合并拉取请求,它实现了pip uninstall --target
。)由于
pip
将卸载的唯一位置是系统范围和预定义的本地用户,因此您需要以相应用户身份运行pip uninstall
以从给定用户的本地安装目录卸载。
关于python - 如何卸载使用 pip install --user 安装的软件包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33412974/