0

Mac использует стандартный Python несмотря на установку Anaconda

10

У меня Mac 10.9 Mavericks, и я установил Anaconda. Однако, когда я запускаю Python через терминал, я всё равно получаю стандартную версию от Apple:

Python 2.7.5 (default, Sep  2 2013, 05:24:04) 
[GCC 4.2.1 Compatible Apple LLVM 5.0 (clang-500.0.68)] on darwin

Мой файл .bash_profile выглядит так:

export PATH="$HOME/anaconda/bin:$PATH"

MONGO_PATH=/usr/local/mongodb/bin
SQL_PATH=/usr/local/mysql

export PATH="/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:$PATH"

Есть ли способ использовать версию Python из Anaconda? В данный момент я в растерянности.

Спасибо!

5 ответ(ов)

0

Обновление для всех, кто видит это и использует Python 3: предложенные выше решения не будут работать с Python 3.

Python 3 от Anaconda теперь находится в ~/anaconda3/bin. Поэтому вместо этого используйте:

export PATH="$HOME/anaconda3/bin:$PATH"

или

export PATH="$HOME/anaconda3/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:$PATH"
0

Первая совпадающая исполняемая программа — это та, что будет выполнена. Судя по вашему описанию, вы объединяете свою переменную PATH таким образом, что:

/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin

находится перед:

$HOME/anaconda/bin

Поэтому убедитесь, что директория Anaconda находится первой в списке, что обеспечит ей приоритет:

export PATH="$HOME/anaconda/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:$PATH"
0

Если ваш оболочка по умолчанию — это sh (или, возможно, что-то кроме bash), вы не сможете получить доступ к своему Python от Anaconda. Если это ваш случай, выполните следующие шаги:

  1. Перейдите в Terminal/Preferences.
  2. Найдите раздел "Shells open with:".
  3. Выберите опцию "Command (complete path)".
  4. Введите /bin/bash в качестве пути.

Перезапустите терминал. Теперь, когда вы введете команду $ which python, вы должны увидеть Python от Anaconda. В моем случае это было /Users/myname/anaconda3/bin/python.

Команда $ echo $PATH также изменится и покажет правильный путь, где Anaconda будет в начале:

/Users/myname/anaconda3/bin:/Users/myname/anaconda3/condabin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Library/TeX/texbin:/opt/X11/bin

В Atom мне нужно было добавить шебанг в начало каждого скрипта, чтобы установить это как предпочтение: #!/Users/myname/anaconda3/bin/python

0

Если вы используете zsh, вы можете отредактировать файл .zshrc в вашей домашней директории, чтобы добавить следующую строку в него:

export PATH="$HOME/anaconda/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:$PATH"

После внесения изменений не забудьте перезагрузить оболочку или выполнить команду source ~/.zshrc, чтобы обновить переменные окружения. Это позволит вам использовать anaconda из любой директории.

0

Если вы используете fish, то можете заметить, что Anaconda сделала резервную копию вашего старого файла .bash_profile, сохранив его как .bash_profile-anaconda.bak. В конце .bash_profile были добавлены две строки, которые выглядят следующим образом:

# добавлено установщиком Anaconda2 4.1.1
export PATH="/Users/username/anaconda/bin:$PATH"

Однако fish не читает этот файл, поэтому вам нужно вручную добавить аналогичную строку в файл конфигурации fish, который находится по пути ~/.config/fish/config.fish:

set -x PATH /Users/username/anaconda/bin $PATH

Это позволит fish использовать Anaconda в переменной PATH.

Чтобы ответить на вопрос, пожалуйста, войдите или зарегистрируйтесь