如何在OSX上卸载pip?

67

我运行了以下命令:

easy_install pip
sudo pip install setuptools --no-use-wheel --upgrade

我该如何反转这两个命令以将我的Python还原到OSX中的初始状态?(其中包括删除pip)

7个回答

99

你应该尝试的第一件事是:

sudo pip uninstall pip

在许多环境中这并不起作用。因此,考虑到该问题缺乏信息,我最终手动从/usr/local/bin中删除了pip。


可能是卸载 pip 最糟糕的方式。请尝试使用 pip uninstall pip - Blairg23
那个方法不起作用,所以我们不得不使用这种方法。 - nacho_dh
2
请确保您使用了sudo -H标志。 - Dendi Suhubdy
1
如果pip无法工作,因为它期望的Python版本不存在,那么您需要手动删除它。 Python很混乱。 - PeterT

42

在我的情况下,我运行了以下命令,它奏效了(虽然我并没有期望它会奏效):

sudo pip uninstall pip

这导致了:

Uninstalling pip-6.1.1:
  /Library/Python/2.7/site-packages/pip-6.1.1.dist-info/DESCRIPTION.rst
  /Library/Python/2.7/site-packages/pip-6.1.1.dist-info/METADATA
  /Library/Python/2.7/site-packages/pip-6.1.1.dist-info/RECORD
  <and all the other stuff>
  ...

  /usr/local/bin/pip
  /usr/local/bin/pip2
  /usr/local/bin/pip2.7
Proceed (y/n)? y
  Successfully uninstalled pip-6.1.1

我也有点惊讶地报告这个运行得非常好。+1 - Brionius
pip 真是太棒了 :P - Blairg23
不小心使用sudo easy_install pip安装了随macOS Sierra一起提供的版本。这个解决方案似乎解决了我的困境。其他信息,如果有人阅读或关心: Python 2.7.10 (default, Jul 30 2016, 19:40:32) [GCC 4.2.1 Compatible Apple LLVM 8.0.0 (clang-800.0.34)] on darwin - unjankify

12

为了完全卸载pip,我认为您需要从计算机上的所有Python版本中删除其文件。 对于我来说,它们在这里:

cd /Library/Frameworks/Python.framework/Versions/Current/bin/
cd /Library/Frameworks/Python.framework/Versions/3.3/bin/

根据你安装的Python版本数量,你可能需要删除这些文件路径下的文件或目录(以及更多内容)。

编辑: 要查找您机器上的所有pip版本,请使用以下命令: find / -name pip 2>/dev/null,该命令从最高级别开始查找(因此是/),并隐藏所有错误消息(这就是2>/dev/null的作用)。这是我的输出:

$ find / -name pip 2>/dev/null
/Library/Frameworks/Python.framework/Versions/2.7/bin/pip
/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/pip
/Library/Frameworks/Python.framework/Versions/3.3/bin/pip
/Library/Frameworks/Python.framework/Versions/3.3/lib/python3.3/site-packages/pip
/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/site-packages/pip
/Library/Frameworks/Python.framework/Versions/7.1/bin/pip
/Library/Frameworks/Python.framework/Versions/7.1/lib/python2.7/site-packages/pip-1.4.1-py2.7.egg/pip

10

除了 @srk 的答案之外,你还应该卸载 setuptools 包:

python -m pip uninstall pip setuptools

如果您想先卸载所有其他软件包,本答案会提供一些提示:https://dev59.com/R2gu5IYBdhLWcg3winrU#11250821

注意:在使用该答案中的命令之前,请仔细阅读有关副作用以及如何避免过早卸载pipsetuptools的评论。例如:pip freeze | grep -v "^-e" | grep -v "^(setuptools|pip)" | xargs pip uninstall -y


1
请注意,您可能安装了多个Python版本。然后您需要在前面写出确切的版本,例如python3.7 -m uninstall pip setuptools,如果您还安装了一个python3.6,并且环境变量设置为这样,那么它将支配python3.7,请参见pip/python: normal site-packages is not writeable - questionto42

1
在macOS Big Sur版本11.0.1上。
$ which pip
output: /usr/local/bin/pip

$ cd /usr/local/bin

在那里我发现了pip、pip2和pip2.7

$ sudo rm -r pip # for each version to remove

一些原因,通过easy_install安装的程序出现了损坏。

0

首先通过运行以下 Python 代码查看 Python site-packages 文件的路径

import os 
import inspect 
print(os.path.dirname(inspect.getfile(inspect))+"/site-packages") 

将会打印出一个路径,请将其作为参数添加到pip命令中

pip install package_name -t "打印出的路径"

例如:pip install pandas -t "打印出的路径"


0

由于pip是一个包管理器, pip uninstall pip 就可以卸载它。
编辑:如果这样不起作用,请尝试使用sudo -H pip uninstall pip


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接