【问题标题】:Uninstall iPython using pip on Mac OSX在 Mac OSX 上使用 pip 卸载 iPython
【发布时间】:2014-12-11 00:56:55
【问题描述】:

我想从系统中卸载 iPython(v 2.3.1),所以我使用了以下命令:

sudo pip uninstall ipython

它说已成功卸载。然后当我执行“pip freeze”时,它显示 ipython 仍然安装。它所做的只是将 ipython 从 v 2.3.1 降级到 v 0.12.1。我做错了什么吗?

注意:我的 requirements.txt 中也没有 ipython。

【问题讨论】:

  • 您使用的是苹果预装的 Python 2.7 吗?你的系统上还有其他 Python 2.7 吗?您是否首先安装了ipythonpip?你是如何安装pip的? (我问是因为 ipython 会转到 /usr/bin 而不是 /usr/local/bin 很奇怪,更奇怪的是,如果这样做,包不会转到 /Library/Frameworks/Python2.7。)
  • 同时,如果它“将 ipython 从 v 2.3.1 降级到 v 0.12.1”,这几乎可以肯定意味着您以不同的方式安装了两个版本,安装到不同位置的软件包都在您的sys.path 以及位于您的PATH 上的不同位置的可执行文件。所以,2.3.1 隐藏了 0.12.1,现在你已经安装了它,0.12.1 是不隐藏的。

标签: python macos pip ipython


【解决方案1】:

它所做的只是将 ipython 从 v 2.3.1 降级到 v 0.12.1。

这是不可能的。


可能的情况是,您使用 pip 以外的其他方式安装了 0.12.1,然后忘记了它,然后使用 pip 安装了 2.3.1,最终隐藏 0.12.1 而不是替换它。因此,当您卸载 2.3.1 时,0.12.1 将被取消隐藏并重新开始工作。

如果是这种情况,您还需要卸载 0.12.1。而且您将不得不手动执行此操作,因为您没有使用pip,并且其他安装程序没有卸载程序。所以,首先which ipython 看看可执行文件在哪里。然后,因为这是一个脚本,less $(which python) 并确保它的 shebang 线指向您期望的 Python。然后正常启动Python,import IPython,打印出IPython.__file__看看包在哪里。如果它在 .egg 文件中,则旁边可能有一个 .egg-info,您还需要将其删除。


另一件可能的事情是,您在 Apple 提供给您的 Python 2.7 旁边安装了另一个 Python 2.7,其中一个安装了 0.12.1,另一个安装了 2.3.1。摆脱 0.12.1 的步骤并没有太大的不同,只是您必须确定安装了哪个 Python 2.7 可执行文件才能执行手动卸载部分。

如果是这种情况,我强烈建议您进一步清理。要么:

  • 卸载非 Apple Python 并仅使用 Apple 的,或者
  • 卸载您为 Apple 的 Python 安装的所有站点包(尤其是 pip),并且永远不要接触 Apple 的。 (另外,了解 Apple Python 和非 Apple Python 的标语中的任何差异,以便在您不小心运行错误的标语时更快地识别出来。)

或者,当然,您可以借此机会升级到 Python 3.4,这不会与 Apple 的冲突,因为他们不提供 3.4。 :)

【讨论】:

    猜你喜欢
    • 2014-01-27
    • 1970-01-01
    • 2014-09-27
    • 1970-01-01
    • 1970-01-01
    • 2018-06-26
    • 2011-08-20
    • 2018-09-24
    • 1970-01-01
    相关资源
    最近更新 更多