[英]Python2.7 - Interpreter syntax error after installing 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 可用的許多不同終端程序之一。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.