2016-11-10 3 views
0

Oracle VB에서 데비안 기반 OS에서 APT-GET 업데이트를 실행했습니다. 그것이 실행되는 동안 IDLE 2.7.12 (터미널과 함께 열었습니다)에 파이썬 코드가 있습니다. 업데이트가 끝나면 코드를 저장하려고했습니다. IDLE을 연 터미널에서 오류가 발생했습니다. 그것은이 말한다 :IDLE 2.7.11/12 "NameError : 글로벌 이름 'Toplevel'이 정의되지 않았습니다."

[email protected]:~# idle

대기가 열리고, 내 코드를로드, 내 코드를 편집 한 후 내가 클릭 [파일] [저장]을

이것은

Exception in Tkinter callback 
Traceback (most recent call last): 
    File "/usr/lib/python2.7/lib-tk/Tkinter.py", line 1545, in __call__ 
    return self.func(*args) 
    File "/usr/lib/python2.7/idlelib/ScriptBinding.py", line 140, in run_module_event 
    filename = self.getfilename() 
    File "/usr/lib/python2.7/idlelib/ScriptBinding.py", line 205, in getfilename 
    self.editwin.io.save(None) 
    File "/usr/lib/python2.7/idlelib/IOBinding.py", line 345, in save 
    if self.writefile(self.filename): 
    File "/usr/lib/python2.7/idlelib/IOBinding.py", line 378, in writefile 
    chars = self.encode(self.text.get("1.0", "end-1c")) 
    File "/usr/lib/python2.7/idlelib/IOBinding.py", line 450, in encode 
    dialog = EncodingMessage(self.editwin.top, enc) 
    File "/usr/lib/python2.7/idlelib/IOBinding.py", line 76, in __init__ 
    self.root = top = Toplevel(master) 
NameError: global name 'Toplevel' is not defined 

Picture of my terminal with the error

발생

나는 이미 VB를 재시작하려고 시도했는데, 자동 제거를 한 다음, 운이없는 IDLE을 다시 설치했다.

+0

kali는 항상 불안정한/테스트 배포판입니다. 그것으로 살아라. –

+0

글쎄, 다른 해결책이 없다면 더 안정적인 버전으로 되돌릴 수있는 방법이 있기를 바랬습니다. 궁극적 인 경우였습니다. – CoffeeWithCream

+0

IDLE 버그. 제목 변경을 설명하는 답변 (작성 중)을 참조하십시오. –

답변

0

문제는 IDLE 업데이트 된 버전의 버그입니다. .../Lib/idlelib/IOBinding.py의 맨 위 부근에 다음을 추가하십시오 (예 : import tkFileDialog). <enc>이 인코딩 될 것이다

Non-ASCII found, yet no encoding declared. Add a line like 
-*- coding: <enc> -*- 
Choose OK to save this file as <enc> 
Edit your general options to silence this warning 

같은 utf-8로서 :

from Tkinter import * 

는 나가서 설명하자면 NameError 다음 메시지와 경고를 표시하는 함수가 발생했습니다.

는 인코딩 선언

이 버그 파이썬 언어 참조 2.1.4. 가리키는 경우 메시지가 초보자를위한 더 도움이 될 수 있음을 나에게 발생

은 2.x는 특정 때문에 Python3에서, UTF -8은 인코딩 선언이 없을 때 사용되는 기본값입니다.

+0

2.7.13에서 수정되었습니다. –

0

열린 IDLE.
옵션
구성 IDLE
일반
세트 '기본 소스 인코딩'UTF-8

나는 윈도우 10에서 파이썬 2.7.12을 실행하는거야 또한 우분투 16.04이 해결 내 저장/충돌 IDLE 문제를 두 OS 모두에서.

왜 우리가 파이썬 2에서 3으로 우리를 버리려고하는 느낌이 들지?! jk.