2016-07-11 11 views
0

Если я выберу следующий код и нажмите «Запустить выделенный код» в eclipse, это даст мне ошибку.Python «неожиданный EOF при разборе» eclipse pydev запускает выделенный код

class abc(object): 
    def __init__(self): 
     print 'base' 

    def run(self): 
     print 'run' 

Сообщение об ошибке:

class abc(object): 
    def __init__(self): 
     print 'base' 

    def run(self): 
     print 'run' 
    File "<ipython-input-22-8e1ec627fd90>", line 1 
    def run(self): 
       ^
SyntaxError: unexpected EOF while parsing 

run 

Однако, если удалить пространство между этими двумя функциями, то это будет хорошо работать (смотри ниже), это ошибка в PyDev? В любом случае, я могу решить эту проблему?

class abc(object): 
    def __init__(self): 
     print 'base'  
    def run(self): 
     print 'run' 

Версия:
Затмение 4.4.2
LiClipse 2.0.0.201504092214
Subclipse (обязательно) 1.10.13

ответ

1

Я думаю, что вы видите, является результатом использования интерактивной консоли для запустите свой код (то есть: http://www.pydev.org/manual_adv_interactive_console.html).

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

Итак, есть некоторые обходные пути для этого:

  1. Не правой подравнивать блоки (т.е .: оставить пробелы для блока отступа вместо 0 ширины линии).

  2. Если вы не хотите запускать только часть своего кода, отмените выбор всего кода и выполните весь файл с помощью Ctrl + Alt + Enter.

  3. Отмените выбор кода, перейдите в первую строку и отправьте содержимое в консоль по очереди с F2 (F2 отправит текущую строку и переместит курсор на следующую строку с содержимым и может даже исправить отступы, поэтому вам будет легко выбрать блок, который вы хотите отправить на консоль).

  4. Не используйте интерактивную консоль и выполняйте простой запуск с F9 (хотя в этом случае, когда он будет запущен в новой неинтерактивной консоли, символы не будут доступны для проверки после этого).

  5. Если вы работаете с TDD (разработка, основанная на тестах), тогда запустите тестовый код с помощью Ctrl + F9 (подробности см. В разделе http://www.pydev.org/manual_adv_pyunit.html) - в этом режиме он не будет использовать интерактивную консоль.

+0

спасибо. Я ценю ответ. – user97662

 Смежные вопросы

  • Нет связанных вопросов^_^