我在 Windows 上安装了 2 个版本的 python,2.7.3 和 3.3。我的一些脚本是 2.x 和一些 3.x。从命令行执行这些脚本以将它们定向到适当的解释器时,是否有一种简单的方法?
3 回答
注意:对于 Windows,使用新的 Windows Python 启动器(适用于Python 3.3 ,可在此处下载早期版本),该启动器可识别 Unix shell shebangs。你可以在这里阅读。
大多数 Linux 发行版将为已安装的Python 2.x和Python 3.xpython2
解释器创建和python3
别名(如果没有,您可以自己在.将适当的解释器设置为脚本的第一行:$PATH
env
#!/usr/bin/env python2
或者
#!/usr/bin/env python3
如果您将脚本文件设置为可执行并直接在 shell 上调用它们,这将指示 shell 使用适当的解释器。例如:
$ chmod +x script.py
$ ./script.py
先试试这个:我在 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
我相信也有类似的选择。
佩德罗罗马诺的回答是这样做的最优雅的方式。
但是,如果您不想下载和安装 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
在命令提示符下的任何位置运行,它应该可以工作:)