我试图在 python 中重用我的 tcl 代码,但 Expect 包未导入。
>>> from Tkinter import *
>>> tcl = Tcl()
>>> tcl.eval('puts $tcl_version')
8.5
''
>>> tcl.eval('package require expect')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
_tkinter.TclError: can't find package expect
请解释一下如何让它工作。我的机器安装了 tcl,Expect 工作正常。
最佳答案
期望应该大写:
tcl.eval('package require Expect')
是的,TCL 是区分大小写的语言。
更新
我已经验证我的建议适用于我的系统(Linux 和 Mac)。既然您声称它无法在您的系统上运行,那么让我们进行以下测试:
启动TCL shell:
tclsh
看看是否可以使用 Expect 包:
package require Expect
如果您看到错误,则表示您没有安装 Expect 软件包,或者路径错误。如果不这样做,那么当您启动 Python shell 时,您的路径就会改变。
无论哪种情况,我都没有足够的信息来帮助您。如果您仍然需要帮助,请发布更多信息,例如您的操作系统以及您能想到的其他详细信息。
更新2
在 Windows 7 计算机上,我安装了 ActivePython 2.7.x 并观察了您的行为,即未找到 Expect 包。这种情况在 ActivePython 2.7.x 的 32 位和 64 位版本上都会发生。 接下来,我在同一台计算机上安装了 32 位 Cygwin,并选择包含 Python 和 Expect。这一次,一切正常。
此时,您有几个选择:
- 使用 Cygwin
- 如果您使用 64 位 Python,您可能无法访问 Expect,请参阅此 article .
- 如果您使用 32 位 Python,同一篇文章建议了一种通过
teacup
命令安装 Expect 的方法。
关于python - python的Tkinter模块中找不到tcl Expect,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20145982/