IDLE 2.7.5+ не работает в Ubuntu 13.10

Недавно после обновления с Ubuntu 13.04 до 13.10 я не могу открыть.py файлы в IDLE 2.7. Когда я нажимаю "Файл - Недавние файлы - file.py", я получаю пустое окно. В этом окне код отсутствует, и я не могу его нормально закрыть, просто через "pkill idle" в терминале.

Когда я пытаюсь открыть файл.py через терминал с простоя:

idle path_to_file/file.py

Я получил:

Traceback (последний вызов был последним):

File "/usr/bin/idle", line 5, in <module>
    main()
File "/usr/lib/python2.7/idlelib/PyShell.py", line 1536, in main
    if flist.open(filename) is None:
File "/usr/lib/python2.7/idlelib/FileList.py", line 36, in open
    return self.EditorWindow(self, filename, key)
File "/usr/lib/python2.7/idlelib/PyShell.py", line 131, in __init__
    EditorWindow.__init__(self, *args)
File "/usr/lib/python2.7/idlelib/EditorWindow.py", line 323, in __init__
    io.loadfile(filename)
File "/usr/lib/python2.7/idlelib/IOBinding.py", line 258, in loadfile
    chars = self.decode(chars)
File "/usr/lib/python2.7/idlelib/IOBinding.py", line 296, in decode
    enc = coding_spec(chars)
File "/usr/lib/python2.7/idlelib/IOBinding.py", line 129, in coding_spec
    for line in lst:
NameError: global name 'lst' is not defined

Мне нужна помощь, я не могу работать с моими.py файлами в IDLE!!!

Спасибо и наилучшие пожелания всем.

1 ответ

Решение

Это известная ошибка. Это исправлено в простое 2.7.6, но вы можете легко (*) исправить это самостоятельно.

Откройте файл /usr/lib/python/idelib/IOBinding.py как пользователь root с вашим любимым редактором:

sudo gedit /usr/lib/python2.7/idlelib/IOBinding.py

Перейти к строке 128 и изменить:

str = str.split("\n", 2)[:2]

чтобы:

lst = str.split("\n", 2)[:2]

и сохраните файл.

(*) Легко, если вы программист на Python.

Другие вопросы по тегам