2014-01-06 4 views
6

Я хотел бы использовать распределение анаконды из IPython, но набрав 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 

Добавление путь к .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 

Обновления: Я обновил анаконда и IPython использования conda update как предложено, но все еще получаю такое же сообщение об ошибке.

Обновление 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 производит // анаконды/bin/IPython и ipython запусков.

+0

У вас есть переменная окружения 'PYTHONPATH'? – asmeurer

ответ

1

Одной из возможных причин является то, что существует несколько версий ipython установлены, например, brew может установить в /usr/local/bin, conda может установить для /anaconda/bin (это только предположение). Совет от similar issue должен полностью удалить всю установку ipython и установить тот, который вы будете использовать.

3

Похоже, что ваш путь полностью в порядке. Обратите внимание, что ошибка возникает из «/ usr/local/bin/ipython». Это не ошибка bash, скорее всего, это ошибка с помощью setup_tools или pip, которые являются инструментами Python для упаковки. Bash находит ipython и запускает файл запуска ipython, но встречает там ошибку.

Ошибка, кажется, говорит о том, что ваша версия ipython несовместима. Вы пытались сделать что-то подобное?

conda update conda 
conda update ipython 

Updaing Конда и IPython рекомендуется в iPython documentation. Возможно, это устранит проблему. Если нет, добавьте информацию о том, что вы обновили conda и ipython на свой вопрос.

9

Ваша проблема в вашей $ PATH. Если вы посмотрите на свою трассировку, она запускает/usr/local/bin/ipython - это тот, который установлен Homebrew, а не Anaconda. (Anaconda устанавливает все в/anaconda/bin.)

Причина, по которой это происходит, связана с тем, что самая последняя строка вашего .bash_profile добавляет/usr/local/bin в начале вашего пути. Это означает, что ipython, который вы установили через Homebrew, маскирует тот, который установлен Anaconda.

У вас есть два варианта:

  1. деинсталлировать IPython, что Homebrew установлен, и просто использовать Anaconda для ваших пакетов Python.

  2. В вашем .bash_profile переместите линию модификации Homebrew PATH над Anaconda. Таким образом, приоритет будет иметь ipython, python и другие команды Python от Anaconda.

Помните, если вы меняли.bash_profile, вам необходимо закрыть свой терминал и запустить новый, чтобы изменения вступили в силу.

0

Убедитесь, что вы проверяете путь к исполняемому файлу Python, указанному в начале сценария. Когда я установил IPython он был определен как:

#!/usr/bin/python 

Вместо:

#!/usr/local/bin/python 

Следовательно, OS X по умолчанию установку Python использовался вместо моего варева установлена ​​версия.

Смежные вопросы