在Anaconda将python3设置为默认值后,如何切换回python2?

最近,我在我的15.04上安装了Anaconda3-2.5.0-Linux-x86_64.sh并最终得到了这个!

:~$ python --version Python 3.5.1 :: Anaconda 2.5.0 (64-bit) :~$ python2 --version Python 2.7.9 :~$ python3 --version Python 3.5.1 :: Anaconda 2.5.0 (64-bit) 

在安装的最后时刻,我确实匆忙地输入了一些东西,我想它必须对此做些什么。 (好吧,我的错,我应该小心处理,但我现在需要帮助,而不是批评)。

截图

AFAIK这肯定会打破其他程序。 现在我该怎么做?


我认为可行的。

可以使用别名来完成吗?

 alias python=python2 

但我不确定。

我在VM中进行了安装,发生了以下情况。

  1. 安装程序要求安装位置。 默认为/home/myuser/anaconda3
  2. 最后你会被问到

     Python 3.5.1 :: Continuum Analytics, Inc. creating default environment... installation finished. Do you wish the installer to prepend the Anaconda3 install location to PATH in your /home/myuser/.bashrc ? [yes|no] [no] >>> yes Prepending PATH=/home/myuser/anaconda3/bin to PATH in /home/myuser/.bashrc A backup will be made to: /home/myuser/.bashrc-anaconda3.bak 

要恢复旧的行为,请转到您的主目录并执行操作

 mv .bashrc-anaconda3.bak .bashrc 

然后开始一个新的shell。

正如你的建议,你可以使用alias python=python2 ,但我觉得有点奇怪。 我会

  1. 恢复原始的.bashrc
  2. 创建(如果它不存在) ~/bin
  3. 链接ln -s ~/anaconda3/bin/python3 ~/bin/python3
  4. [将$HOME/bin$PATH ](默认情况下应该由~/.profile
  5. 重新登录。

这样,调用python3将启动Anaconda的那个。


重要的一点是,原始的/usr/bin/python仍然存在,仍然指向python2.7 。 在路径中使用python->python3的后果取决于如何调用特定脚本。

如果使用shebang #!/usr/bin/python ,就像它可能在Ubuntu附带的所有可执行文件中一样,什么都不会改变。 另一方面,为了更好的可移植性,有时会使用#!/usr/bin/env python ,这将导致python3.5

这里的答案很好: https : //stackoverflow.com/questions/24405561/how-to-install-2-anacondas-python-2-7-and-3-4-on-mac-os-10-9

 conda create -n python2 python=2.7 anaconda 

然后,切换:

 source activate python2 

如果有人想要将它们的python默认版本更改为2.7(通过将默认版本更改为:anaconda或python 3)并最终使用非function性软件,请点击此链接: 链接以更改默认值的说明python版本。

这对我有用,但是对于Miniconda来说,它也适用于Anaconda,但如果我错了请纠正我。

首先获取$ PATH变量:

 echo $PATH 

它可能看起来像这样(miniconda路径在其他一切之前):

 /home/your_user/miniconda3/bin:$PATH 

将该路径复制到〜/ .bashrc文件的底部,但最后使用Miniconda而不是路径的开头,如下所示:

 export PATH="$PATH:/home/your_user/miniconda3/bin" 

系统将在miniconda3 / bin文件夹之前的$ PATH变量开头查找程序。

它应该恢复以前的程序你喜欢python的版本。

这是我的答案,它可能是也可能不是您对自己系统所做的实际具体答案。

但是,我处于类似情况并且有同样的担忧。

我使用的是Ubuntu 16.04 LTS和Python 2.7.12,最近才安装了Anaconda。

所以现在,当我进入命令行并键入python它仍然会进入我的Python2安装。

由此确认:

 $which python /usr/bin/python < Catch-all for max compatibility $python Python 2.7.12 . . etc 

所以在我的情况下, anaconda不会对我的默认Python2 shebangs造成任何问题。

最终,这就是问题所在。

当你向系统询问你可以信任which python ,要在命令行样式Python程序的第一行使用正确的字符串。

在我的情况下,我所有相同的Python命令行脚本文件继续执行得很好。

我倾向于以3兼容模式编写Python。 比如在我的print语句周围使用括号。 但我正在积极抵制对系统的重大改变,这可能导致激烈的Python 2程序遇到故障。 Python 3听起来很棒,但不需要我的需求。 Python 2是一种很棒的语言。

我的计算环境不允许我返回并重新设计过去已被调整为正常工作的流程,而不会花费大量的时间,因为我必须回过头来弄清楚我在哪里使用它。


对我来说底线:安装anaconda以备将来使用时,我没有任何减速带或问题。


这就是我在这个过程中的重点......刚刚完成了对所有过去软件的重新认证。


下一步是实际使用包中承诺的一些很酷的东西。


所以,我必须怀疑其他只是安装anaconda必须有更多的情况。

根据我的经验,这根本不是问题。