在命令行解释器中轻松切换Python版本?

时间:2014-09-13 19:59:18

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

我评估用Python编写的项目。一些是用Python 2编写的,一些是用Python 3编写的。为了简单起见,我通过命令行对它们进行了分级,但是现在,用Python 2特定语法编写的项目不起作用,因为解释器默认为Python 3.有没有一种简单的方法可以指定我想要使用哪个版本的Python?

4 个答案:

答案 0 :(得分:2)

您可以在Windows上使用Python启动器:

C:\> py -2 some_script.py

如果脚本具有诸如#!/usr/bin/env python3之类的shebang,则启动器会自动找到相应的Python版本:

C:\> py some_script.py

Python launcher包含在最近的Python版本中(自3.3起)。你可以另外安装它。

你也可以使用vex实用程序与virtualenv:

$ vex py2 python some_script.py

python some_script.py virualenv中运行py2

在POSIX系统(Linux,OS X)上,如果脚本具有可执行权限($ chmod +x some-script)并且它具有有效的shebang #!/usr/bin/python,那么您可以直接运行它:

$ ./some-script

将使用哪个python版本(甚至是哪个程序)由shebang定义。

答案 1 :(得分:1)

最好的方法是使用virtualenv

第二种最好的方法是设置你的系统使用python用于python 2而python3用于python3。

答案 2 :(得分:0)

最好的方法是使用所有平台上都可用的conda发行版。即使使用不同的python版本,这也可以轻松切换环境。例如:

conda create -n nameofpython2environment python=2    # creates a python 2 env
conda create -n nameofpython3environment python=3.3  # creates a python 3 env

然后在给定的环境中工作只需:

source activate nameofpython2environment

进入环境后,您可以在那里安装包:

conda install numpy

答案 3 :(得分:0)

使用别名:

在Windows上:

set "py2= path-to-python2-interpreter"

然后致电:

%py2%

在Mac上:

alias py2='path-to-python2-interpreter'

然后致电:

py2

在Linux上,它与在Mac上相同。


注意:关闭终端窗口后,这些别名不会保存。 如果你想要它们保存,你需要将它们放在shell启动时读取的任何配置文件中。

我只知道linux及其〜/ .bashrc

的那个