处理多个Python版本---不要独立运行

时间:2013-01-07 01:10:01

标签: python-3.x python-2.7

我的计算机上安装了Python 2.7(我的首选版本)和3.3(我的编程类中使用的版本)(操作系统:Windows 7)。直到某一点,他们独立工作。

有一天,我的一个程序(在3.3中)出现错误并崩溃(它在命令提示符下,而不是在IDLE中)。之后,我的所有3.3程序,当我尝试编辑它们(使用IDLE编辑)或运行它们(在命令提示符下)时,它们打开/运行为2.7程序。这是一个问题,因为2.7和3.3之间存在一些语法和其他差异。

如何告诉我的3.3程序明确使用Python 3.3?

现在,我要做的是打开IDLE(作为空白文件,而不是特定程序),然后在IDLE中使用Open选项。此外,使用命令处理器运行程序是不可能的。

我查了一下,看到了一些关于使用#!/usr/bin/env的内容,但我不确定如何使用它。 Python 3.3安装在以下文件夹中:C:\Python3.3(这是文件路径)。

谢谢!

5 个答案:

答案 0 :(得分:5)

您可以使用shebang lines

#! /usr/bin/env python2

用于Python 2.x脚本和:

#! /usr/bin/env python3

用于Python 3.x脚本。您可以使用更具体的版本,例如python3.3

你可以configure default Python version

答案 1 :(得分:4)

您应该专注于此处的Windows特定功能。直到最近,#!方式才对基于Unix的操作系统有用。

Python 3.3为此目的引入了Python Launcher for Windows。当您的计算机上安装了Python 3.3时,安装程​​序会将py.exepyw.exe个启动器复制到c:\Windows,并且.py.pyw个扩展程序与启动器相关联

这样,如果.py文件没有通过Python解释器显式启动,则使用Python Launcher。您还可以明确启动py script.py

如果没有关于Python版本的信息,则使用最高的Python 2.x.有两种方法可以告诉启动器您要启动Python 3:1)明确py -3 script.py,2)将#!python3写入script.py内的第一行。

想要的Python版本可以更详细(执行特定版本的Python)。请参阅提到的文档。我还在专家交流的文章Do you know the "Python Launcher for Windows"?中总结了的意外情况。

答案 2 :(得分:4)

您可以使用' py'从命令行使用特定版本的python启动。然后是版本标志(即-2或-3)

以下是您可以执行的操作示例:

Python 2

>>> py -2 your_script.py

OR

Python 3

>>> py -3 your_script.py

答案 3 :(得分:1)

python 3.2的Python文档提供的信息帮助我分别调用了不同的python 2.7和3.3。

http://docs.python.org/3/using/windows.html#customizing-default-python-versions

答案 4 :(得分:0)

您可以通过运行py filename.py来调用Python3.3中的python解释器,而如果您在Python 2.7中运行它们,则可以运行python filename.py

在我的Windows框中,我有一些小批处理脚本(称为python2和python3),它们调用相关的python源代码。

filename:    python3.bat
code:        C:\Python32\python.exe %*