python - 如何卸载使用 pip install --user 安装的软件包

标签 python python-3.x pip virtualenv

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/

相关文章:

python - 我们如何导入 MNIST 图像而不是数据帧?

python - yaml 多嵌套和 python 字典

python-3.x - 在python中使用正则表达式获取一组数字

python - 使用 Pip 1.5 安装外部的、未验证的包

python - SQLAlchemy:检查列类型大小给出奇怪的结果

python - 保存到数据库以防止Python中的SQL注入(inject)

python - 如何解决python上的安装错误

python - for循环只循环3次。为什么?

python - 错误 : Unable to find vcvarsall. bat

python - pip 不会安装包