Требуется запустить «исходник .bash» для нового терминала для правильного пути Python - PullRequest
0 голосов
/ 09 октября 2019

У меня странная проблема с путем ipython. Когда я открываю терминал и набираю which ipython, я получаю "/Users/test/anaconda3/bin/ipython"

, что мешает некоторым моим определениям. Независимо от того, когда я запускаю source .bash_profile, он меняет путь на "/usr/local/bin/ipython". По сути, каждый раз, когда я открываю вкладку, мне нужно запустить source .bash_profile для правильного пути. Это содержимое моего bash-файла, и я не видел подобной проблемы раньше.

export PATH="/opt/local/bin:/opt/local/sbin:$PATH"
# Finished adapting your PATH environment variable for use with MacPorts.

export PATH="/usr/local/bin:$PATH"
# added by Anaconda3 2019.07 installer
# >>> conda init >>>
# !! Contents within this block are managed by 'conda init' !!
__conda_setup="$(CONDA_REPORT_ERRORS=false '/Users/test/anaconda3/bin/conda' shell.bash hook 2> /dev/null)"
if [ $? -eq 0 ]; then
    \eval "$__conda_setup"
else
    if [ -f "/Users/test/anaconda3/etc/profile.d/conda.sh" ]; then
        . "/Users/test/anaconda3/etc/profile.d/conda.sh"
        CONDA_CHANGEPS1=false conda activate base
    else
        \export PATH="/Users/test/anaconda3/bin:$PATH"
    fi
fi
unset __conda_setup
# <<< conda init <<<
PYTHONPATH="/Users/test/Documents/heasoft-6.25/x86_64-apple-darwin18.2.0/lib/python"
PYTHONPATH="/Users/test/anaconda3/lib/python3.7:$PYTHONPATH"

1 Ответ

1 голос
/ 09 октября 2019

Это не ошибка или проблема. Это ожидаемое поведение, которое /Users/test/anaconda3/bin/ipython устанавливает приоритет /usr/local/bin/ipython.

Это потому, что "базовая" среда Python от Anaconda / Miniconda, /Users/test/anaconda3/bin, добавляется в PATH.

Следующее содержимое в .bash_profile является conda сценарий инициализации, обеспечивающий правильную работу команды conda.

# added by Anaconda3 2019.07 installer
# >>> conda init >>>
...
# <<< conda init <<<

И одним из стандартных способов инициализации conda является предоставление его "базовой" среды Python.

Все, что вам нужно сделать, это отключить активацию "базовой" среды Python.

Решение

  1. Удалите вышеуказанный conda сценарий инициализации в .bash_profile. Замените его на

    # only expose the `conda` command but not the "base" environment
    export PATH="/Users/test/anaconda3/condabin:$PATH"
    
  2. Отключите активацию "базовой" среды Python, выполнив следующую команду в новой интерактивной оболочке.

    # re-generate init script
    conda init
    # disable activation of "base" environment
    conda config --set auto_activate_base false
    

Ссылки

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...