Python Interactive Interpreter始终在Windows上返回"无效语法"

use*_*217 8 python windows

我遇到了一个非常令人困惑的问题.无论我在Python解释器中输入什么,都会返回"无效语法".见下面的例子.我试过在我运行解释器的提示的代码页上搞错了,但它似乎没有任何帮助.

此外,我无法在网上其他地方找到这个特殊的,奇怪的错误.

任何人都可以提供任何帮助都很可爱.我已经尝试过重新安装Python,但我没有运气 - 3.13和2.7中也存在问题.

运行:Python 3.1.3版,Windows XP SP3.

获得:

C:\Program Files\Python31>.\python
Python 3.1.3 (r313:86834, Nov 27 2010, 18:30:53) [MSC v.1500 32 bit (Intel)] on
win32
Type "help", "copyright", "credits" or "license" for more information.  
>>> 2+2
  File "<stdin>", line 1  
    2+2
       ^     
SyntaxError: invalid syntax

>>> x = "Oh, fiddlesticks."  
  File "<stdin>", line 1  
    x = "Oh, fiddlesticks."  
                           ^  
SyntaxError: invalid syntax
Run Code Online (Sandbox Code Playgroud)

小智 6

交互式和无缓冲运行Python时存在一个已知问题,计划在3.2中修复 - 并且可能被反向移植到旧版本,请参阅http://bugs.python.org/issue11098

令人讨厌的是,有人可能在没有意识到的情况下使用无缓冲的I/O. 在我的情况下(Python 2.5.4(r254:67916)),我前段时间设置了一个环境变量,这样Python 总是运行无缓冲的(在Windows上,这是PYTHONUNBUFFERED = YES,或者是替换为YES的非空字符串) )然后忘了它.删除env.var.为我解决了这个问题.

因此,检查此环境变量可能是值得的.它没有默认设置.


Len*_*bro 0

有一次,大约是 2002 年,我成功构建了一个无法在 Windows 换行符下运行的 Python 版本。它会给出这样的语法错误,指向行尾。我发现在这种情况下这不太可能成为问题,特别是因为您使用的是 Windows 安装。

当我无意中使用不间断空格而不仅仅是空格时,我也遇到了类似的问题,但我不知道提示中会发生什么,而且除了你 2+2 示例不使用空格或引号,这也可以成为一个问题。

您使用什么编码和键盘设置?

  • @user559217:你是否打开了一些奇特的“宏”或“热键”包或其他一些DOS-isms?看起来你的“Enter”键的作用不仅仅是结束该行。 (2认同)