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? На данный момент в убытке.

Спасибо


person intl    schedule 31.03.2014    source источник
comment
PATH - это поиск слева направо, поэтому вторая настройка PATH не поможет вам попробовать только первую   -  person mmmmmm    schedule 01.04.2014
comment
Примечание. Apple изменила оболочку по умолчанию с bash на zsm, начиная с Mac OS 10.15 Catalina. Для читателей с более новой ОС внесите эти изменения в .zprofile (или .zshrc) вместо .bash-profile.   -  person fpersyn    schedule 22.03.2020


Ответы (9)


Запускается первый соответствующий исполняемый файл. Из того, что я могу понять, вы объединяете свою переменную 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"
person Heap    schedule 31.03.2014
comment
Спасибо! Работает как шарм. Глупо с моей стороны не думать об этом. - person intl; 01.04.2014
comment
@Heap Элегантное решение. Если бы мы когда-нибудь захотели отменить это и вернуться к установке по умолчанию, каков был бы подход? - person Pyderman; 23.09.2015
comment
@Pyderman Достаточно удалить добавленную строку экспорта PATH. - person Heap; 25.09.2015
comment
На моем маке анаконда была не под $HOME/anaconda, а под //anaconda. - person arun; 06.04.2017
comment
^ Если другие предоставленные решения не добавляют двоичные файлы ananconda в путь, обычно это другой случай. - person SeedyROM; 07.10.2017
comment
На моем Mac недавняя установка Anaconda3-2018.12 была установлена ​​в /anaconda3, поэтому запуск с $HOME не работал – решение было export PATH=/anaconda3/bin:/usr/bin:/bin:/usr/sbin:/sbin: /usr/локальные/бен: $ ПУТЬ. - person Hari Palappetty; 02.04.2019
comment
Огромное спасибо. Это сработало отлично. Conda автоматически изменила мой .zshrc при установке и добавила путь экспорта. Однако, как вы сказали, этот путь оказался в конце всех возможных путей. Мне нужно было переместить его в начало моего пути. - person Eric Wiener; 13.03.2020

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

  1. Перейдите в Терминал/Настройки
  2. Найдите «Оболочки, открытые с помощью:»
  3. Нажмите кнопку «Команда (полный путь)».
  4. Введите /bin/bash в качестве пути

Перезагрузите терминал. Когда вы наберете $ which python, вы должны увидеть питон anaconda. Для меня это было /Users/myname/anaconda3/bin/python.

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

/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

person Kris    schedule 15.05.2020
comment
Это сработало для меня! Странно, что существует зависимость типа терминала от достижения версии anaconda python. Почему это так? - person Enis Arik; 07.07.2020
comment
Я случайно отредактировал путь на шаге 3/4 здесь и не мог понять, что это за путь. То есть я изменил путь, указанный в настройках терминала. Затем я не мог запускать свои сценарии Python, так как Терминал по умолчанию вернулся к умолчанию MacOS, в котором не было ни одного из моих пакетов, и он все еще был на 2.7. Это сработало для меня! Спасибо. - person grantog; 03.02.2021
comment
удивительно! везде искал это. - person Moran Reznik; 10.04.2021

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

# added by Anaconda2 4.1.1 installer
export PATH="/Users/username/anaconda/bin:$PATH"

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

set -x PATH /Users/username/anaconda/bin $PATH
person Zhang Buzz    schedule 19.07.2016

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

export PATH="$HOME/anaconda/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:$PATH"
person sushmit    schedule 04.06.2016

Если вы используете LiClipse или Eclipse в качестве IDE, меню «Настройки» значительно упростит этот процесс управления. Но я понимаю радость от командной строки.

Очень легко сделать Anaconda, или, скорее, версию Anaconda Python интерпретатором по умолчанию в LiClipse, а также вызывать сайт-пакеты из Anaconda. Я только сегодня поставил.

С уважением,

JF

person Jack Fisher    schedule 13.04.2015

Убедитесь, что вы используете полный путь: - не используйте "~" вместо корня:

(неправильный)

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

(Верный)

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

Это изменение сработало для меня!

person Reihan_amn    schedule 16.06.2019

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

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

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

or

export PATH="$HOME/anaconda3/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:$PATH"
person russellthehippo    schedule 29.08.2019
comment
Нет, ответ @Chris сработал для Python 3. - person Enis Arik; 08.07.2020

Для более новых версий mac OS anaconda теперь устанавливается в ~/opt/anaconda. Если у вас есть мой zsh, выполните следующие действия:

  1. vim .bash_profile => здесь вы должны увидеть внизу эти комментарии
    added by Anaconda3 2019.10 installer
  1. Добавьте все, что находится между этими комментариями, в конец файла .zshrc и перезапустите терминал.
person Andrei    schedule 13.01.2020

Используя OSX 10.15, ответ Андрея сработал для меня (после яростного гугления в течение часа).

Вот блок текста для сохранения шага сверху:

# >>> conda init >>>
# !! Contents within this block are managed by 'conda init' !!
__conda_setup="$(CONDA_REPORT_ERRORS=false '/opt/anaconda3/bin/conda' shell.bash hook 2> /dev/null)"
if [ $? -eq 0 ]; then
    \eval "$__conda_setup"
else
    if [ -f "/opt/anaconda3/etc/profile.d/conda.sh" ]; then
# . "/opt/anaconda3/etc/profile.d/conda.sh"  # commented out by conda initialize
        CONDA_CHANGEPS1=false conda activate base
    else
        \export PATH="/opt/anaconda3/bin:$PATH"
    fi
fi
unset __conda_setup
# <<< conda init <<<

.zshrc был пуст для меня, но добавление все еще работало.

person ethanc9931    schedule 08.03.2020