我希望使用 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
按如下所示将 PATH 添加到.bash_profile
会产生相同的错误消息。问which python
产生//anaconda/bin/python
,which ipython
产生/usr/local/bin/ipython
。我怎样才能解决这个问题,使ipython
启动 anaconda ipython?
# MacPorts Installer addition on 2012-11-03_at_23:50:01: adding an appropriate PATH variable for use with MacPorts.
export PATH=/opt/local/bin:/opt/local/sbin:$PATH
# Finished adapting your PATH environment variable for use with MacPorts.
# Add colors to terminal
export CLICOLOR=1
export LSCOLORS=ExFxBxDxCxegedabagacad
# added by Anaconda 1.6.1 installer
export PATH="//anaconda/bin:$PATH"
export PATH=/anaconda//bin/isympy:$PATH
# added to Homebrew: bad command
export PATH=/usr/local/bin:$PATH
更新:我按照建议使用 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')()
)
现在which ipython
产生//anaconda/bin/ipython,并ipython
启动。
你的问题出在你的$PATH上。 如果你看一下你的回溯,它运行的是/usr/local/bin/ipython - 这是由 Homebrew 安装的,而不是由 Anaconda 安装的。 (Anaconda 将所有内容安装到/anaconda/bin 中。
之所以会选择它,是因为.bash_profile的最后一行将/usr/local/bin 粘在路径的前面。 这意味着您通过Homebrew安装的ipython掩盖了Anaconda安装的ipython。
您有两种选择:
-
卸载Homebrew安装的ipython,然后只使用Anaconda作为Python软件包。
-
在您的.bash_profile中,将 Homebrew PATH 修改行移到 Anaconda 修改行上方。 这样,Anaconda的ipython,python和其他各种Python命令将优先。
请记住,如果您更改.bash_profile,则需要关闭终端并启动一个新终端以使更改生效。
看起来你的道路完全没问题。请注意,错误来自"/usr/local/bin/ipython"。这不是一个bash错误,它更有可能是一个涉及setup_tools或pip的错误,即Python打包工具。Bash 找到 ipython 并执行 ipython 启动文件,但在那里遇到错误。
该错误似乎是在说您的 ipython 版本不兼容。你试过做这样的事情吗?
conda update conda
conda update ipython
建议在 iPython 文档中更新 conda 和 ipython。也许这会解决问题。如果没有,请添加一个信息,说明您已将 conda 和 ipython 更新到您的问题中。
一个可能的原因是安装了多个ipython
版本,例如,brew
可能会安装到/usr/local/bin
,conda
可能会安装到/anaconda/bin
(这只是一个猜测)。类似问题的建议是完全删除所有ipython
安装并安装您将使用的安装。
确保检查脚本开头指定的 Python 可执行文件的路径。当我安装iPython时,它被定义为:
#!/usr/bin/python
而不是:
#!/usr/local/bin/python
因此,使用默认的OS X安装的Python而不是我的brew安装版本。
有不同,因为即使安装了 Anaconda 也无法找到命令或运行 ipython,也无法找到 PATH。我的解决方案是运行以下命令:
nano ~/.bash_profile
export PATH="/anaconda3/bin:$PATH"
source ~/.bash_profile
然后检查康达版本:
conda
我更新了 conda 和 ipython 运行:
conda update conda
conda update ipython
希望这可以帮助某人。这对我有帮助:https://stackoverflow.com/a/49925193/3351569