我在Windows上安装了2个版本的python,2.7.3和3.3。我的一些脚本是2.x和3.x.从命令行执行这些脚本以将它们引导到适当的解释器时,有一种简单的方法吗?
答案 0 :(得分:8)
注意:对于Windows,使用新的Windows Python启动程序(可用于 Python 3.3 ,可下载here用于早期版本),它可识别Unix shell shebang。你可以阅读它here。
大多数Linux发行版将为已安装的 Python 2.x 和 Python 3.x 解释器创建python2
和python3
别名(如果不是您可以在$PATH
的任何位置自己创建符号链接,env
命令将负责查找它们,因此您只需要将相应的解释器设置为脚本的第一行:
#!/usr/bin/env python2
或
#!/usr/bin/env python3
如果您将脚本文件设置为可执行文件并直接在shell上调用它们,这将指示shell使用适当的解释器。 E.g:
$ chmod +x script.py
$ ./script.py
答案 1 :(得分:2)
首先尝试一下:我在OS X上,但是当我想使用Python 2.6而不是Python 2.7(它是一个numpy / scipy的东西)时,我只需运行python2.6 whatever.py来运行Python中的whatever.py 2.6。先尝试一下。
如果这不起作用,那么您可以使用virtualenv - Python的虚拟环境构建器。
http://pypi.python.org/pypi/virtualenv
我相信也有类似的选择。
答案 2 :(得分:1)
Pedro Romano的答案是最优雅的做法。
但是如果您不想下载并安装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
,它应该可以工作:)