Как установить конкретную версию Python по умолчанию в терминале, но оставить возможность использовать другую (например, conda) для пакета - PullRequest
0 голосов
/ 27 июня 2019

Чтобы установить внешний пакет, мне пришлось установить conda и активировать среду для использования этого внешнего пакета.Тем не менее, теперь версия python для conda является версией по умолчанию:

$ which python
/Users/mymac/miniconda3/bin/python

$ python
Python 3.7.3 (default, Mar 27 2019, 16:54:48) 
[Clang 4.0.1 (tags/RELEASE_401/final)] :: Anaconda, Inc. on darwin

В моем .bash_profile две версии кажутся сосуществующими:

export PS1="\[\033[36m\]\u\[\033[m\]@\[\033[32m\]\h:\[\033[33;1m\]\w\[\033[m\]\$ "
export CLICOLOR=1
export LSCOLORS=ExFxBxDxCxegedabagacad
alias ls='ls -GFh'

# Homebrew
export PATH=/usr/local/bin:$PATH

# Setting PATH for Python 3.7
# The original version is saved in .bash_profile.pysave
PATH="/Library/Frameworks/Python.framework/Versions/3.7/bin:${PATH}"
export PATH

export PATH="$HOME/.cargo/bin:$PATH"

export LC_ALL=en_US.UTF-8

# >>> conda initialize >>>
# !! Contents within this block are managed by 'conda init' !!
__conda_setup="$('/Users/mymac/miniconda3/bin/conda' 'shell.bash' 'hook' 2> /dev/null)"
if [ $? -eq 0 ]; then
    eval "$__conda_setup"
else
    if [ -f "/Users/mymac/miniconda3/etc/profile.d/conda.sh" ]; then
        . "/Users/mymac/miniconda3/etc/profile.d/conda.sh"
    else
        export PATH="/Users/mymac/miniconda3/bin:$PATH"
    fi  
fi
unset __conda_setup
# <<< conda initialize <<<

при добавлении следующей строкив моем .bashrc

alias python='/Library/Frameworks/Python.framework/Versions/3.7/bin/python3.7

затем я повторил предыдущую команду

$ which python
/Users/mymac/miniconda3/bin/python

$ python
Python 3.7.3 (v3.7.3:ef4ec6ed12, Mar 25 2019, 16:52:21) 
[Clang 6.0 (clang-600.0.57)] on darwin

Версия, похоже, изменилась, но источник остается прежним.

Какие именно команды нужно сделать, чтобы иметь версию терминала не-conda Python по умолчанию в терминале, но чтобы сохранить возможность использовать версию conda для этого конкретного пакета (набрав source activate thepackage)

1 Ответ

1 голос
/ 27 июня 2019

Во-первых, удалите команду псевдонимов, это вызовет проблемы только позже, когда вы забудете, что создали псевдоним. Затем добавьте параметр конфигурации conda, чтобы базовая среда не была активирована по умолчанию. В своем терминале введите:

conda config --set auto_activate_base false

Это должно восстановить системный Python, который будет первым найденным на вашем пути. Теперь, когда вы хотите использовать среду conda, просто наберите

conda activate env-name

и у вас должен быть доступ к Python этой среды. Когда вы закончите, наберите

conda deactivate

вернет вас в исходное состояние. Если вы активировали несколько сред, вам может потребоваться запустить conda deactivate несколько раз.

...