Python2.7 - 安装Python3后解释器语法错误

标签 python windows python-2.7

当我尝试在 python27 解释器上编写任何内容时,无论我输入什么内容(不仅仅是 print,实际上是任何内容),我都会收到语法错误。找不到其他人遇到同样的问题,所以不知道为什么会发生这种情况。

我最近安装了 Python3 和 PyCharm,但我仍然想使用 python27 来处理我拥有的一些遗留代码。我安装了Python3和PyCharm后就开始出现这个问题(不确定PyCharm是否相关)。

我的操作系统是Windows10 x64。 大家有什么想法吗?

Python27: Python27

Python3:

Python3

最佳答案

我可以通过使用不间断空格 unicode 字符作为最后一个字符来完美地重现这一点:

Python 2.7.16 (default, Apr 11 2019, 01:11:37) 
[GCC 4.2.1 Compatible FreeBSD Clang 6.0.0 (tags/RELEASE_600/final 326565)] on freebsd11
Type "help", "copyright", "credits" or "license" for more information.
>>> print "Test" 
  File "<stdin>", line 1
    print "Test" 
                ^
SyntaxError: invalid syntax
>>> import os 
  File "<stdin>", line 1
    import os 
             ^
SyntaxError: invalid syntax
>>> 111 
  File "<stdin>", line 1
    111 
       ^
SyntaxError: invalid syntax
>>>

当我将其复制/粘贴到基于 python 3 的 IPython 中时,它会显示:

In [1]: test = 'print "Test" '                                                                           
Out[1]: 'print "Test"\xa0'

In [2]: import unicodedata

In [3]: unicodedata.name(test[-1])                                                                           
Out[3]: 'NO-BREAK SPACE'

我希望任何类似空格的 unicode 字符也会发生同样的情况。

在 Python 中输入代码时,使用 End 转到行尾,然后使用一个或多个 Backspace 删除前面的任何额外空格。 你按Enter。如果按 End 时光标移动,则可以确认该问题。

如果不是,那么可能是当您按 Enter 时终端程序发送到 Python 的任何内容。

我建议删除 python 2.7 并将任何剩余的 2.7 特定代码移植到 python 3。

编辑 由于您仍然需要 Python 2,我建议尝试运行 python 2 脚本。如果可行,问题可能在于终端设置(如文本编码、换行等)与 Python 2 期望的不同。如果脚本有效,请尝试可用于 ms-windows 的多种不同终端程序之一。

关于Python2.7 - 安装Python3后解释器语法错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57556901/

相关文章:

python - PYODBC 不喜欢 %, "The SQL contains 2 parameter markers, but 1 parameters were supplied."

windows - 谷歌浏览器不打开自定义协议(protocol)

python 2.7 : setlogmask(0) not disabling syslog

windows - 将 Findstr 与特定范围或其他方法一起使用

windows - docker上的RabbitMQ:无法检查/重新声明自动删除队列

python - python中的名称重整

python - Python 2.7 的 Jupyter 安装失败

python - 每个值都取决于另一个 df 查询的 Pandas 列

python - PyQt4 和 Python 3 - 显示来自 URL 的图像

python - Pandas isin 的多列似乎不匹配?