我的计算机上安装了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
(这是文件路径)。
谢谢!
答案 0 :(得分:5)
您可以使用shebang lines:
#! /usr/bin/env python2
用于Python 2.x脚本和:
#! /usr/bin/env python3
用于Python 3.x脚本。您可以使用更具体的版本,例如python3.3
答案 1 :(得分:4)
您应该专注于此处的Windows特定功能。直到最近,#!
方式才对基于Unix的操作系统有用。
Python 3.3为此目的引入了Python Launcher for Windows。当您的计算机上安装了Python 3.3时,安装程序会将py.exe
和pyw.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 %*