我为Python 2和3安装了两个版本的Anaconda。
我添加了路径。
我使用Anaconda提示。
python program.py
假设我使用的是Python3。例如,它无法理解:
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编写的程序。
我想在两者之间顺利切换。我应该怎么做?
简单的解决方案是为Python 2创建环境:
conda create -n py27 python=2.7 anaconda
这将花费几秒钟的时间,并且将向您显示将要安装的软件包的列表。只需按Enter键并等待。
完成后,激活您的新环境。
在Windows上:
activate py27
在其他平台上:
source activate py27
提示应更改为(py27)
。现在,您使用Python 2.7。
通过以下方式停用:
deactivate
现在回到Python3。您可以在两个终端窗口中同时运行两个版本。您可以为其他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的create命令:
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版本创建了环境。