Ser*_*jik 181 python pip virtualenv python-3.x
--userpip 有一个选项可以为每个用户安装一个Python包:
pip install --user [python-package-name]
Run Code Online (Sandbox Code Playgroud)
我使用此选项在我没有root访问权限的服务器上安装软件包.我现在需要的是卸载当前用户的已安装软件包.我试图执行这个命令:
pip uninstall --user [python-package-name]
Run Code Online (Sandbox Code Playgroud)
但我得到了:
no such option: --user
Run Code Online (Sandbox Code Playgroud)
pip install --user除了手动查找和删除软件包之外,如何卸载我安装的软件包?
我发现了这篇文章
其中描述了不支持从用户目录卸载软件包.根据文章,如果它是正确实施然后与
pip uninstall [package-name]
Run Code Online (Sandbox Code Playgroud)
安装的软件包也将在用户目录中搜索.但问题仍然存在.如果在系统范围内和每个用户安装相同的软件包怎么办?如果有人需要定位特定的用户目录怎么办?
Tho*_*tze 168
在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作为相应的用户运行以从给定用户的本地安装目录卸载.
Huy*_*rit 24
在MacOS上卸载软件包'oauth2client'的示例:
pip uninstall oauth2client
Run Code Online (Sandbox Code Playgroud)
thi*_*ras 12
我强烈建议您使用虚拟环境进行 python 包安装。使用 virtualenv,您可以防止任何包冲突和与 python 相关用户空间命令的完全隔离。
要删除全局安装的所有软件包,请遵循以下步骤;
可以卸载使用--userflag安装的软件包。这个对我有用;
pip freeze --user | xargs pip uninstall -y
对于python 3;
pip3 freeze --user | xargs pip3 uninstall -y
但不知何故,这些命令不会卸载 setuptools 和 pip。在这些命令之后(如果你真的想要干净的python)你可以删除它们;
pip uninstall setuptools && pip uninstall pip
现在你有了干净的 python 环境。您可以创建 virtualenv 并在其中安装包。
但是,对于pip install --user some_pkg 在虚拟环境中使用的人员要小心。
$ path/to/python -m venv ~/my_py_venv
$ source ~/my_py_venv/bin/activate
(my_py_venv) $ pip install --user some_pkg
(my_py_venv) $ pip uninstall some_pkg
WARNING: Skipping some_pkg as it is not installed.
(my_py_venv) $ pip list
# Even `pip list` will not properly list the `some_pkg` in this case
Run Code Online (Sandbox Code Playgroud)
在这种情况下,您必须停用当前的虚拟环境,然后使用相应的python/ pip可执行文件列出或卸载用户站点软件包:
(my_py_venv) $ deactivate
$ path/to/python -m pip list
$ path/to/python -m pip uninstall some_pkg
Run Code Online (Sandbox Code Playgroud)
请注意,此问题是几年前报告的。似乎当前的结论是:在虚拟环境中--user无效pip,因为用户位置对于虚拟环境实际上没有任何意义。
| 归档时间: |
|
| 查看次数: |
321838 次 |
| 最近记录: |