已安装Anaconda for python 2和3.无法运行2

时间:2015-12-26 05:19:18

标签: python python-2.7 python-3.x anaconda conda

我为Python 2和3安装了两个版本的Anaconda。

我添加了路径。

我使用Anaconda提示。

python program.py

它假设我使用的是Python 3.例如,它无法理解:

print "hello!"

我试过了:

py program.py
py -2 program.py

但他们没有用。我该如何运行Python 2程序?

如果我输入:

python

在Acaconda提示中,然后它说:

python 3.5.1. Anaconda 2.4.1

因此提示假设我使用的是Python 3.

但我有用Python 2编写的程序和用Python 3编写的程序。

我想顺利地在两者之间切换。我该怎么做?

1 个答案:

答案 0 :(得分:6)

简单的解决方案是为Python 2创建一个环境:

conda create -n py27 python=2.7 anaconda

这将需要几秒钟,并将显示它将要安装的软件包列表。只需按Enter键即可。

完成后,激活新环境。

在Windows上:

activate py27 

在其他平台上:

source activate py27 

提示应更改为(py27)。现在你使用Python 2.7。

取消激活:

deactivate 

现在您回到Python 3.您可以同时在两个终端窗口中运行这两个版本。您可以为其他Python版本创建环境:

conda create -n py34 python=3.4 anaconda
conda create -n py35 python=3.5 anaconda

如果您不想在环境中安装完整的Anaconda,请使用所有包创建一个:

conda create -n myenv python=3.5
source activate myenv

并安装您需要的东西。例如:

conda install numpy pytables sympy

您可以在bash.profile中定义.bashrc功能:

py27() {
exec &>/dev/null
source activate py27
exec &>/dev/tty
python $*
exec &>/dev/null
source deactivate
exec &>/dev/tty
}

现在,您可以使用Python 27运行程序,前提是您使用Python 2.7创建了一个具有此名称的环境:

py27 myscript.py

您可以进一步概括为Python 2.6,2,7,3.3,3.4和3.5创建命令:

pyxx() {
exec &>/dev/null
source activate $1
exec &>/dev/tty
python ${*:2}
exec &>/dev/null
source deactivate
exec &>/dev/tty
}


py26()
{
    pyxx py26 $*
}

py27()
{
    pyxx py27 $*
}

py33()
{
    pyxx py33 $*
}

py34()
{
    pyxx py34 $*
}

py35()
{
    pyxx py35 $*
}

这假设您已经创建了具有相应名称和Python版本的环境。