如何卸载使用pip install --user安装的软件包。
如何卸载使用pip install --user安装的软件包。
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 uninstall --target
。) -
由于
pip
仅卸载系统范围和预定义的用户局部安装目录,因此需要作为相应用户运行pip uninstall
以从给定用户的本地安装目录卸载。