在Mac OSX上使用pip卸载iPython

在Mac OSX上使用pip卸载iPython,python,macos,pip,ipython,Python,Macos,Pip,Ipython,我想从系统中卸载iPython(v 2.3.1),因此使用了以下命令: sudo pip uninstall ipython 它说已成功卸载。然后,当我执行“pip freeze”时,它显示ipython仍然安装。它所做的只是将ipython从V2.3.1降级到V0.12.1。我做错什么了吗 注意:我的requirements.txt中也没有ipython 它所做的只是将ipython从V2.3.1降级到V0.12.1 这是不可能的 可能的一件事是,您使用除pip以外的其他方法安装了0.1

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

sudo pip uninstall ipython
它说已成功卸载。然后,当我执行“pip freeze”时,它显示ipython仍然安装。它所做的只是将ipython从V2.3.1降级到V0.12.1。我做错什么了吗

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

它所做的只是将ipython从V2.3.1降级到V0.12.1

这是不可能的


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

如果是这种情况,您还需要卸载0.12.1。由于您没有使用
pip
,而其他安装程序也没有卸载程序,因此您必须手动执行此操作。因此,首先要查看可执行文件的位置。然后,因为这是一个脚本,
less$(哪个python)
,并确保它的shebang行指向您期望的python。然后正常启动Python,
importipython
,然后打印出
IPython.\uuuu文件\uuuu
,查看包的位置。如果它在一个.egg文件中,那么它旁边可能有一个.egg信息,您也需要删除它


另一件可能的事情是,除了苹果给你的一个Python之外,你还安装了另一个Python 2.7,其中一个安装了0.12.1,另一个安装了2.3.1。摆脱0.12.1的步骤没有太大不同,只是您必须确定安装它的Python 2.7可执行文件,以执行手动卸载部分

如果是这样的话,我强烈建议你进一步清理。要么:

  • 卸载非Apple Python并只使用Apple的,或
  • 卸载您为苹果Python安装的所有站点软件包,尤其是
    pip
    ——并且永远不要接触苹果的。(另外,了解Apple Python和非Apple Python横幅的区别,以便在意外运行错误的Python时能够更快地识别。)

当然,您也可以借此机会升级到Python3.4,这不会与苹果的相冲突,因为他们不提供3.4版本

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