我正在尝试从 Python 运行 TCL 脚本。我在 TCL 脚本(我必须使用)中包含一个第三方 TCL 包,它调用“控制台”。因此,如果我只运行以下命令:
z = x.tk.eval('source C:/somePath/GetStatsFirst2.tcl')
我收到以下错误:
pydev debugger: starting
WARNING!!! Unable to add paths from Appinfo: Could not find AppInfo registry entry
WARNING!!! Unable to add paths from Appinfo: Could not find AppInfo registry entry
Traceback (most recent call last):
File "C:\Users\lab\Documents\Public\eclipse\plugins\org.python.pydev_2.7.5.2013052819\pysrc\pydevd.py", line 1397, in <module>
debugger.run(setup['file'], None, None)
File "C:\Users\lab\Documents\Public\eclipse\plugins\org.python.pydev_2.7.5.2013052819\pysrc\pydevd.py", line 1090, in run
pydev_imports.execfile(file, globals, locals) #execute the script
File "C:\Users\lab\Documents\Public\workspace\Version 1\....\TC1.py", line 55, in <module>
test()
File "C:\Users\lab\Documents\Public\workspace\Version 1\....\TC1.py", line 42, in test
z = x.tk.eval('source C:/Users/lab/Documents/Public/TCL/Scripts/GetStatsFirst2.tcl')
_tkinter.TclError: invalid command name "console"
这肯定与我正在使用的包有关,问题可能是不可避免的。由于没有打开 TK 控制台(因为我使用的是 TK inter class and eval
),我觉得有办法解决这个问题。在我看来,我正在导入的包需要存在 TK 控制台。在命令行上或通过 运行时subprocess.call
,一切正常,但在这些情况下会打开一个控制台。我很确定这个包实际上是在寻找一个控制台。有没有办法与 Tk 对象一起创建控制台?