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

发布于 2021-01-29 15:14:47

--userpip有一个选项,可以为每个用户安装Python软件包:

pip install --user [python-package-name]

我使用此选项在没有root访问权限的服务器上安装软件包。我现在需要的是在当前用户上卸载已安装的软件包。我试图执行以下命令:

pip uninstall --user [python-package-name]

但是我得到了:

no such option: --user

pip install --user除了手动查找和删除软件包外,如何卸载与之一起安装的软件包?

我发现这篇文章

pip无法从每个用户的站点软件包目录中卸载

描述了不支持从用户目录卸载软件包。根据文章,如果正确实施,则使用

pip uninstall [package-name]

安装的软件包也将在用户目录中搜索。但是对我来说仍然是一个问题。如果在系统范围和每个用户都安装了相同的软件包,该怎么办?如果有人需要针对特定​​用户目录怎么办?

关注者
0
被浏览
223
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

    在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上实现了一个有点旧的未合并的pull请求,它实现了pip uninstall --target。)

    • 由于pip将要卸载的唯一位置是系统范围的和预定义的本地用户,因此您需要以pip uninstall相应用户身份运行才能从给定用户的本地安装目录中卸载。



知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看