Недавно, после обновления с Ubuntu 13.04 до 13.10 я не могу открыть .py файлы в IDLE 2.7. Когда я нажимаю «Файл - Недавние файлы - file.py», я получаю пустое окно. В этом окне код отсутствует, и я не могу его нормально закрыть, просто через «pkill idle» в терминале.
Когда я пытаюсь открыть file.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 !!!
Спасибо и наилучшие пожелания всем.
Это известная ошибка . Это исправлено в простое 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.