为了安装外部包,我必须安装 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
)
最佳答案
首先,删除别名命令,当您忘记创建别名时,只会给您带来问题。然后,添加conda配置选项,使得base环境默认不激活。在您的终端中,输入:
conda config --set auto_activate_base false
这应该将系统 Python 恢复为您路径上第一个找到的系统。现在,当您想使用 conda 环境时,只需键入
conda activate env-name
并且您应该有权访问该环境的 Python。完成后,输入
conda deactivate
会让你回到原来的状态。如果您激活了多个环境,则可能需要多次运行 conda deactivate
。
关于python - 如何在终端中将特定的 python 版本设置为默认版本,但保留使用另一个包(例如 conda)的可能性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56786519/