Python 水蟒伊皮顿的路断了吗?

Python 水蟒伊皮顿的路断了吗?,python,bash,ipython,anaconda,Python,Bash,Ipython,Anaconda,我希望使用ipython的anaconda发行版,但在终端键入ipython会产生错误消息: Traceback (most recent call last): File "/usr/local/bin/ipython", line 5, in <module> from pkg_resources import load_entry_point File "/System/Library/Frameworks/Python.framework/Versions/2

我希望使用ipython的anaconda发行版,但在终端键入
ipython
会产生错误消息:

Traceback (most recent call last):
  File "/usr/local/bin/ipython", line 5, in <module>
    from pkg_resources import load_entry_point
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/pkg_resources.py", line 2603, in <module>
    working_set.require(__requires__)
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/pkg_resources.py", line 666, in require
    needed = self.resolve(parse_requirements(requirements))
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/pkg_resources.py", line 565, in resolve
    raise DistributionNotFound(req)  # XXX put more info here
pkg_resources.DistributionNotFound: ipython==0.13.1
更新:我按照建议使用
conda Update
更新了anaconda和ipython,但仍然收到相同的错误消息

更新2:感谢所有的建议。我修改了
/usr/local/bin/ipython
,如下所示:

#!//anaconda/bin/python
# EASY-INSTALL-ENTRY-SCRIPT: 'ipython==1.1.0','console_scripts','ipython'
__requires__ = 'ipython==1.1.0'
import sys
from pkg_resources import load_entry_point

sys.exit(
   load_entry_point('ipython==1.1.0', 'console_scripts', 'ipython')()
)

现在,
哪个ipython
生成了//anaconda/bin/ipython,然后
ipython
启动。

看起来您的路径完全正常。请注意,错误来自“/usr/local/bin/ipython”。这不是bash错误,更可能是涉及setup_工具或pip(即Python打包工具)的错误。Bash找到ipython并执行ipython启动文件,但在那里遇到错误

错误似乎表明您的ipython版本不兼容。你试过这样做吗

 conda update conda
 conda update ipython

建议在中使用Updaing conda和ipython。也许这会解决问题。如果没有,则添加一条信息,说明您在问题中更新了conda和ipython

一个可能的原因是安装了多个
ipython
版本,例如,
brew
可能安装到
/usr/local/bin
conda
可能安装到
/anaconda/bin
(这只是一个猜测)。来自的建议是完全删除所有
ipython
安装,并安装您将使用的安装。

您的问题在$PATH中。如果您查看您的回溯,它正在运行/usr/local/bin/ipython-这是由自制软件安装的,而不是由Anaconda安装的。(Anaconda将所有内容安装到/Anaconda/bin中。)

之所以出现这种情况,是因为.bash_配置文件的最后一行将/usr/local/bin粘贴在路径的前面。这意味着您通过自制安装的ipython正在屏蔽Anaconda安装的ipython

您有两个选择:

  • 卸载安装了自制软件的ipython,只需在Python软件包中使用Anaconda即可

  • 在.bash_配置文件中,将自制路径修改行移到Anaconda路径上方。这样,Anaconda的ipython、python和其他各种python命令将优先使用


  • 请记住,如果更改.bash_配置文件,则需要关闭终端并启动新的终端,以使更改生效。

    确保检查脚本开头指定的Python可执行文件的路径。当我安装iPython时,它被定义为:

    #!/usr/bin/python
    
    而不是:

    #!/usr/local/bin/python
    

    因此,使用默认的Python OS X安装,而不是我的brew安装版本。

    对于我来说略有不同,因为即使安装了Anaconda,也无法找到命令或运行ipython,也无法找到路径。 我的解决方案是运行以下命令:

    nano ~/.bash_profile
    export PATH="/anaconda3/bin:$PATH"
    source ~/.bash_profile
    
    然后检查conda版本:

    conda
    
    我更新了conda和ipython的运行:

    conda update conda
    conda update ipython
    
    希望这能帮助别人。
    这对我很有帮助:

    您是否设置了
    PYTHONPATH
    环境变量?
    conda update conda
    conda update ipython