전체 패키지를 가져 오는 것은 IDLE에서 작동하지만 셸에서는 작동하지 않습니다. IDLE에서 미세 다음 작품 : 나는 쉘에서이 작품을 만들기 위해 import tkinter.filedialog
에 있다고 이해IDLE 대 셸의 패키지에서 가져 오기
AttributeError: 'module' object has no attribute 'filedialog'
: 쉘에서
import tkinter as tk
tk.filedialog.askopenfilename()
, 나는이 오류가 발생합니다.
IDLE과 셸의 차이점은 무엇입니까? IDLE이 쉘처럼 작동하도록하려면 어떻게해야합니까? IDLE에서 스크립트가 작동하고 쉘에서 실패하는 것은 실망 스러울 수 있습니다.
저는 Python 3.4를 사용하고 있습니다.
글꼴 모듈을 사용하는 [Tkinter 코드는 명령 줄에서 실행할 수 없습니다?] (http://stackoverflow.com/questions/30877112/tkinter-code-using-font-module-cant-run-from- 명령 줄) –
@ TerryJanReedy 예, 그 게시물은 비슷한 문제를 설명합니다. IDLE이 필요로하는 것에서 스크립트 환경을 격리하면 안됩니까? 또한 IDLE에'tkinter' 또는'tk'라고 입력하면'name 'tkinter'not defined' 또는'name 'tk'not defined'라고 쓰여지고, 다른 게시물에 설명이 있으면 정의해야합니다. 맞다. – mcu
당신이 알아 낸 '이유'가 아니라 '해결 방법'을 묻기 때문에 닫기 요청을 철회했습니다. 나는 아래 답변했다. 그리고 예, 스크립트 환경 *은 최대한 격리되어야합니다. 이것이 별도의 프로세스에서 코드를 실행하는 이유입니다. IDLE 문서에는 3.2 절이 있습니다. IDLE - 불가 피한 일부 목록을 표시하는 콘솔 차이 *. 나는 아직도 sys.modules에있는 추가 모듈의 수를 최소한으로 줄이기 위해 노력하고있다. (https://bugs.python.org/issue27534). 현재 감소로 인해 run.py의 가져 오기 시간이 45 % 줄어 듭니다. –