Я изучаю базовый графический интерфейс в Python, и я наткнулся на пример, чтобы прочитать имя файла из файла explorer на Stack Overflow.Python Tkinter throwing Tcl error
from Tkinter import Tk
from tkFileDialog import askopenfilename
Tk().withdraw() # we don't want a full GUI, so keep the root window from appearing
filename = askopenfilename() # show an "Open" dialog box and return the path to the selected file
print(filename)
Данный скрипт работает нормально, когда я пытаюсь запустить его в режиме ожидания, но то же не работает, если я пытаюсь из командной строки в ОС Windows 7.
Python Версия: 2,7. Вот выходная ошибка, которую я получаю.
>>> from Tkinter import Tk
>>> from tkFileDialog import askopenfilename
>>> Tk().withdraw()
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "C:\Python27\Lib\lib-tk\Tkinter.py", line 1685, in __init__
self.tk = _tkinter.create(screenName, baseName, className, interactive, wantobjects, useTk, sync, use)
_tkinter.TclError: Can't find a usable init.tcl in the following directories:
C:/Python27/lib/tcl8.5 D:/PyProj/lib/tcl8.5 D:/lib/tcl8.5 D:/PyProj/library D:/library D:/tcl8.5.2/library D:/tcl8.5.2/library
This probably means that Tcl wasn't installed properly
Любой указатель на то, что мне не хватает здесь, может оказать большую помощь.
Вы уверены, что версия python, которую вы используете в режиме ожидания, является той же версией, которая используется в командной строке? –
@BryanOakley да, я использую ту же версию. Вот фрагмент того же IDLE: Python 2.7 (r27: 82525, 4 июля 2010, 07:43:08) [MSC v.1500 64 бит (AMD64)] на win32 Python CmdLine: Python 2.7 (r27 : 82525, 4 июля 2010, 07:43:08) [MSC v.1500 64 бит (AMD64)] на win32 – charan
Если вы выполните быстрый поиск по сети, набрав: 'Невозможно найти полезный init.tcl в следующие каталоги', вы найдете что-то;) – nbro