Скрипт Python, не выполняющийся в Light Table, показывает ошибку

Помощь! я получаю эту ошибку снова и снова.... на световом столе, пока я пытаюсь запустить код Python

 File "C:\Python34\Lib\site.py", line 176
    file=sys.stderr)
        ^
SyntaxError: invalid syntax

Это код с установкой.


person user3814582    schedule 08.07.2014    source источник
comment
Похоже, вы пытаетесь запустить код Python 3 под интерпретатором Python 2.   -  person Mark Dickinson    schedule 08.07.2014
comment
Каково значение вашей переменной окружения PYTHONPATH?   -  person Mark Dickinson    schedule 08.07.2014
comment
См. также stackoverflow.com/q/20555517/270986.   -  person Mark Dickinson    schedule 08.07.2014
comment
Я был расстроен, поэтому я прошел все возможные пути ко всем папкам. Вот что я установил путь.... C:\Python34\Lib;C:\Python34\DLLs;C:\Python34\include;C:\Python34\libs;C:‌​\Python34\Scripts;C: \Python34\tcl;C:\Python34\Tools\pynche;C:\Python34\Tools\Scri‌​pts; Буду признателен за любое предложение. Я использую python 3 только для того, как он будет использовать интерпретатор python 2.   -  person user3814582    schedule 09.07.2014
comment
Я не знаком с Light Table, но если он работает как другие IDE с поддержкой Python, то должно где-то в его настройках (или настройках плагина Python) быть указано, какой Python интерпретатор, который вы хотите использовать. Вы нашли что-нибудь подобное?   -  person Mark Dickinson    schedule 09.07.2014
comment
Еще одна мысль: вы также можете посмотреть значение вашей переменной окружения PATH. Возможно, Light Table (неявно или явно) использует это, чтобы найти интерпретатор Python для использования.   -  person Mark Dickinson    schedule 09.07.2014
comment
Спасибо, Марк, но ничего не работает. Какой другой инструмент будет полезен для Python? Какие-либо предложения.   -  person user3814582    schedule 09.07.2014
comment
Хм. Публиковать сообщения в списках рассылки Light Table? Что касается других инструментов, существует множество бесплатных и платных IDE для Python; поиск в Google, вероятно, даст лучший совет, чем я мог бы дать.   -  person Mark Dickinson    schedule 10.07.2014


Ответы (1)


Я понятия не имею о части Light Table, но ошибка, которую вы показываете, это та, которую вы получили бы, если бы каким-то образом попытались выполнить вызов функции Python 3 print в Python 2 (где print — это оператор с причудливым синтаксисом а не функцию). Строки 175-176 из site.py в дистрибутиве Python 3.4 выглядят так (отступ по модулю):

print("Error processing line {:d} of {}:\n".format(n+1, fullname),
      file=sys.stderr)

и, конечно же, если вы попытаетесь выполнить это в интерпретаторе Python 2, вы получите SyntaxError с курсором, указывающим на тот же знак =:

Python 2.7.8 (default, Jul  3 2014, 06:13:58) 
[GCC 4.2.1 Compatible Apple LLVM 5.1 (clang-503.0.40)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> print("Error processing line {:d} of {}:\n".format(n+1, fullname), file=sys.stderr)
  File "<stdin>", line 1
    print("Error processing line {:d} of {}:\n".format(n+1, fullname), file=sys.stderr)
                                                                           ^
SyntaxError: invalid syntax

Я бы посоветовал внимательно посмотреть настройки плагина Light Table Python, чтобы увидеть, что не так. Вам также следует проверить настройку переменной окружения PYTHONPATH. Если он содержит ссылку на каталог C:\Python34 и вы используете Python 2, это может быть причиной проблемы. Вот пример точно такой же проблемы в OS X, вызванной запуском Python 2 с PYTHONPATH, который ссылается на каталог библиотеки Python 3:

noether:~ mdickinson$ export PYTHONPATH=/opt/local/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/
noether:~ mdickinson$ python2.7
  File "/opt/local/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/site.py", line 176
    file=sys.stderr)
        ^
SyntaxError: invalid syntax
person Mark Dickinson    schedule 08.07.2014