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

Piy*_*ukh 20 python-2.7 python3 anaconda

最近,我在我的 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)
Run Code Online (Sandbox Code Playgroud)

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

截屏

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


我认为可行的方法。

这可以使用别名来完成吗?

alias python=python2
Run Code Online (Sandbox Code Playgroud)

但我不确定。

Nep*_*nte 18

我在虚拟机中完成了安装,发生了以下情况。

  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
    
    Run Code Online (Sandbox Code Playgroud)

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

mv .bashrc-anaconda3.bak .bashrc
Run Code Online (Sandbox Code Playgroud)

然后启动一个新的shell。

正如你所建议的那样,你可以alias python=python2,但我觉得这有点奇怪。我会

  1. 恢复原样 .bashrc
  2. 创建(如果不存在) ~/bin
  3. 关联 ln -s ~/anaconda3/bin/python3 ~/bin/python3
  4. [Prepend $HOME/binto $PATH](默认情况下应该已经设置了~/.profile)
  5. 重新登录。

这样,调用python3将从 Anaconda 开始。


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

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

  • "4. 将 $HOME/bin 添加到 $PATH" .. 默认情况下已经完成了 `~/.profile` - 在创建 `~/bin` 后只需要重新登录。 (3认同)