如何在script.py中调用特定的Python版本 -- Windows
我在脚本的开头应该写什么文本,以调用我需要的特定版本的Python?
我在Windows XP上有两个版本的Python,分别是2.6.5和2.7.2。它们各自有自己的特殊模块,并且是通过不同的应用程序安装的。我的脚本放在桌面上,这样我可以方便地双击运行。
问题是,我所有的脚本都调用了2.6.5,这对于使用2.6.5安装的模块的脚本来说没问题,但我为2.7.2准备的脚本却无法运行。它们调用的是没有我需要导入的模块的Python 2.6.5。
我尝试过在开头写各种不同的代码,包括有和没有#!的方式来调用2.7.2,但要么是我的语法错了,要么就是在Windows下根本无法指定。有人能告诉我我需要在脚本中添加的确切语法吗?2.7.2的python.exe存放在C:\OSGeo4W\bin下。
谢谢你告诉我在script.py的顶部应该放什么行,以调用我需要使用的确切版本的Python。
3 个回答
在Windows系统上没有“shebang”这种写法。
你需要把.py
文件的关联设置成用你安装的2.7.2版本来打开(可以通过“右键点击”,然后选择“打开方式”,再选择“始终使用这个应用程序”来设置)。
与其把脚本直接放在桌面上,不如在桌面上放一个快捷方式。这个过程可以在一篇 techrepublic.com 的文章中找到。你需要指定合适的解释器作为要运行的程序,然后在同一个地方把你的一个 .py
文件作为参数列出来。
如果你在你的电脑上安装了Python 3.3,它会新增一个用于运行Python脚本的启动器,这样你就可以使用一种叫做“shebang”的方式来指定脚本应该用哪个Python来运行:
#!python2.7
print "Hello"
或者
#!python3.3
print("World")
这两种方式都可以正常工作,并且会运行合适的Python版本。你也可以指定一个Python解释器的完整路径,或者创建一个ini文件来定义特定Python解释器的简写。
想了解Windows下shebang行的不同选项,可以查看PEP 397。
如果你不想安装Python 3.3,也可以选择单独安装这个启动器。