在终端调用时使用默认Python而非Anaconda安装
我最近安装了Anaconda版本的Python。现在,当我在终端里输入python
时,它打开的是Anaconda的版本,而不是默认的版本。我该怎么做才能让Linux上输入python
时使用默认版本呢?(我用的是Ubuntu 12.04(精准穿山甲))
10 个回答
在2020年,就像@spacetyper提到的那样,它的表现有所不同。我从这个问题中找到了一个很实用的解决办法:如何防止Conda默认激活基础环境?
要禁用自动激活基础环境:
conda config --set auto_activate_base false
第一次运行后,它会在你的主目录下创建一个./condarc
文件。
在2020年,Conda在你的.bash_profile
文件底部添加了一段比较复杂的代码,内容大概是这样的:
# >>> conda initialize >>>
# !! Contents within this block are managed by 'conda init' !!
__conda_setup="$('/Users/spacetyper/opt/miniconda3/bin/conda' 'shell.bash' 'hook' 2> /dev/null)"
if [ $? -eq 0 ]; then
eval "$__conda_setup"
else
if [ -f "/Users/spacetyper/opt/miniconda3/etc/profile.d/conda.sh" ]; then
. "/Users/spacetyper/opt/miniconda3/etc/profile.d/conda.sh"
else
export PATH="/Users/spacetyper/opt/miniconda3/bin:$PATH"
fi
fi
unset __conda_setup
# <<< conda initialize <<<
如果你想默认使用系统自带的Python:只需要把这段代码移动到你的.bash_profile
文件的最上面。
如果你想有选择地使用Conda安装的Python:在上面的Conda代码块下面添加这一行。
alias pyconda="/Users/spacetyper/opt/miniconda3/bin/python3"
现在你应该可以用python
来调用系统自带的Python,而用pyconda
来调用Conda安装的Python了。
我也遇到过同样的问题,你可以这样做。
打开你的 .bashrc 文件,你会看到类似下面的内容:
export PATH=~/anaconda3/bin:$PATH
把那一行前面加上#,然后改成:
alias pyconda='~/anaconda3/bin/python3'
或者根据你的实际路径来写。这对我有效。
经过尝试了所有的建议,我觉得修改文件 ~/.bashrc 中的导出语句,正如 Piotr Dobrogost 所建议的,是最好的选择,原因如下:
- 如果你把整个语句删掉,那你在使用 Conda 的时候,就得输入完整的路径来找到它的程序。
- 使用 Conda 4.4.10 的时候,目录 anaconda/bin/ 中的链接指向的是同一目录下的程序,而不是系统目录 /usr/bin 下的程序。
- 采用这种方法,你可以在不输入完整路径的情况下,使用所有之前已经包含在 $PATH 中的系统程序,以及特定于 anaconda 的程序。
所以在文件 ~/.bashrc 中,应该用
# Added by the Anaconda3 4.3.0 installer
export PATH="/home/user/anaconda3/bin:$PATH"
而不是用
export PATH="$PATH:/home/user/anaconda3/bin"
Anaconda会把它的路径加到你的.bashrc
文件里,这样它就会被优先找到。如果你不想用Anaconda,可以把你默认的Python路径加到.bashrc
里,或者把Anaconda的路径删掉。
你也可以在Bash中直接使用完整路径/usr/bin/python
来调用默认的Python解释器。
如果你不对.bashrc
文件做任何修改,那么每次你用python
命令时,都会使用Anaconda的解释器。如果你愿意的话,也可以为每个解释器设置一个alias
(别名)。
在你的.bashrc
文件中,你会看到类似export PATH=$HOME/anaconda/bin:$PATH
的内容。
简单来说,如果你想把Anaconda作为你日常使用的主要解释器,可以使用默认Python的完整路径,或者创建一个alias
。如果你想反过来使用默认的Python,就把export PATH=...
这一行从.bashrc
中删掉,然后用Anaconda Python解释器的完整路径。