Mac использует стандартный Python несмотря на установку Anaconda
У меня 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 ответ(ов)
Обновление для всех, кто видит это и использует 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"
Первая совпадающая исполняемая программа — это та, что будет выполнена. Судя по вашему описанию, вы объединяете свою переменную 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"
Если ваш оболочка по умолчанию — это sh (или, возможно, что-то кроме bash), вы не сможете получить доступ к своему Python от Anaconda. Если это ваш случай, выполните следующие шаги:
- Перейдите в Terminal/Preferences.
- Найдите раздел "Shells open with:".
- Выберите опцию "Command (complete path)".
- Введите
/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
Если вы используете zsh, вы можете отредактировать файл .zshrc
в вашей домашней директории, чтобы добавить следующую строку в него:
export PATH="$HOME/anaconda/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:$PATH"
После внесения изменений не забудьте перезагрузить оболочку или выполнить команду source ~/.zshrc
, чтобы обновить переменные окружения. Это позволит вам использовать anaconda
из любой директории.
Если вы используете 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.
Как переименовать окружение conda?
Как установить окружение conda в оффлайн-режиме?
Какова цель флага -c в команде "conda install -c package"?
Как изменить цвет вывода echo в Linux
В чем разница между pip и conda?