3

我在 Windows 上安装了 2 个版本的 python,2.7.3 和 3.3。我的一些脚本是 2.x 和一些 3.x。从命令行执行这些脚本以将它们定向到适当的解释器时,是否有一种简单的方法?

4

3 回答 3

9

注意:对于 Windows,使用新的 Windows Python 启动器(适用于Python 3.3 ,可在此处下载早期版本),该启动器可识别 Unix shell shebangs。你可以在这里阅读。

大多数 Linux 发行版将为已安装的Python 2.xPython 3.xpython2解释器创建和python3别名(如果没有,您可以自己在.将适当的解释器设置为脚本的第一行:$PATHenv

#!/usr/bin/env python2

或者

#!/usr/bin/env python3

如果您将脚本文件设置为可执行并直接在 shell 上调用它们,这将指示 shell 使用适当的解释器。例如:

$ chmod +x script.py
$ ./script.py
于 2012-09-30T21:06:56.497 回答
2

先试试这个:我在 OS X 上,但是当我想使用 Python 2.6 而不是 Python 2.7(它是一个 numpy/scipy 的东西)时,我只需运行 python2.6 whatever.py 在 Python 2.6 中运行whatever.py。先试试那个。

如果这不起作用,那么您可以使用 virtualenv - Python 的虚拟环境构建器。

http://pypi.python.org/pypi/virtualenv

我相信也有类似的选择。

于 2012-09-30T21:06:25.853 回答
1

佩德罗罗马诺的回答是这样做的最优雅的方式。

但是,如果您不想下载和安装 Python 启动器,请按如下所述创建一个批处理文件。也可以创建快捷方式,将C:\Python27\python.exe复制到C:\Python27\python27.exe等。

我猜 C:\Python27 和 C:\Python33 已经在您的系统路径上。如果是这样,您可以在 C:\Python27\ 中创建一个名为 python2.7.bat 的批处理文件,其中包含:

C:\Python27\python.exe %1

和 C:\Python33\ 中的类似文件(例如 python3.3.bat)

现在,您可以python2.7 script.py在命令提示符下的任何位置运行,它应该可以工作:)

于 2012-09-30T21:36:33.543 回答