cha*_*ran 10 tk-toolkit tkinter python-2.7
我正在学习Python中的基本GUI,我遇到了一个示例,用于从Stack Overflow上的文件资源管理器中读取文件名.
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)
Run Code Online (Sandbox Code Playgroud)
当我尝试在IDLE中运行它时,这个特殊的脚本工作正常,但是如果我在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
Run Code Online (Sandbox Code Playgroud)
任何指向我在这里缺少的东西都可以提供很大的帮助.
小智 10
如果你在Windows上使用Virtualenv我在这里找到了一个解决方案:https://github.com/pypa/virtualenv/issues/93
我将"tcl"文件夹从C:\ Python27 \复制到新的Virtualenv的根目录,Tkinter.Tk()显示了一个没有抛出异常的新窗口.
我在Windows 7上运行Python 2.7.
安装Activestate Python和TCL后遇到类似的问题.我发现以下页面为我解决了问题:ActiveState Python安装问题.修复是将内容复制C:\Python27\tcl
到C:\Python27\Lib
.
另一个可能的解决方案(由用户i-shenl在同一问题上的不同ActiveState线程中给出)是将环境变量 设置$TCL_LIBRARY
为指向tcl库文件夹(问题中为"C:/ Python27/tcl").如果您在系统范围或帐户范围内设置(通过系统属性),它将影响使用TCL库的其他程序(如果已安装).如果您正在使用Powershell,则可以在配置文件中设置此变量,以限制其对从shell运行的程序的影响.
您只需将两个文件夹从tcl文件夹复制到Lib文件夹即可
tcl8.5和tk8.5
归档时间: |
|
查看次数: |
17845 次 |
最近记录: |