如何在terminal中将特定的python版本设置为默认版本,但保持对包使用另一个(例如conda)的可能性

如何在terminal中将特定的python版本设置为默认版本,但保持对包使用另一个(例如conda)的可能性,python,bash,terminal,path,conda,Python,Bash,Terminal,Path,Conda,为了安装外部软件包,我必须安装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\u配

为了安装外部软件包,我必须安装
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\u配置文件中,两个版本似乎共存:

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 <<<
然后我重试上一个命令

$ 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激活软件包)

首先,删除alias命令,这只会在以后忘记创建别名时给您带来问题。然后,添加conda配置选项,以便在默认情况下不激活基本环境。在终端中,键入:

conda config --set auto_activate_base false
这将使系统Python恢复为在您的路径上找到的第一个Python。现在,当您想要使用conda环境时,只需键入

conda activate env-name
您应该可以访问该环境的Python。当你完成后,打字

conda deactivate

会让你回到原来的状态。如果激活了多个环境,可能需要多次运行
conda deactivate

用于系统中的多个python版本。全局安装默认python并在环境变量中添加路径。使用conda时,请从自定义路径安装并使用所需的python版本。非常感谢@ArunAugustine。这正是我想做的。我的问题更具体地说是如何做到这一点:请您编写我必须在终端中编写的命令集或我必须在
中编写的行。bash_profile
?非常感谢您在@darthbith给出的非常清晰和有用的答案。我还有两个问题:1。这些命令(
conda config--set auto_activate_base false
)是否保存在某个文本文件中,以便我随时可以对其中的一些更改进行概述?2.您建议哪个ressource/网站了解如何从终端管理python/conda环境。再次感谢你的回答。是,默认设置为
~/.condarc
。2.很多都是基于经验。conda文档通常也很有用:
conda deactivate