在python的Tkinter模块中找不到tcl Expect

2024-04-26 18:04:32 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图在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,期望工作正常。在


Tags: 代码fromimportpackagemosttkinterversioneval
1条回答
网友
1楼 · 发布于 2024-04-26 18:04:32

Expect应大写:

tcl.eval('package require Expect')

是的,TCL是一种区分大小写的语言。在

更新

我已经证实我的建议在我的系统(Linux和Mac)上有效。既然您声称它在您的系统上不起作用,让我们进行以下测试:

启动TCL外壳:

^{pr2}$

查看是否可以使用Expect包:

package require Expect

如果看到错误,则表示您没有安装Expect包,或者路径错误。如果不这样做,那么当您启动pythonshell时,您的路径将被更改。在

不管怎样,我都没有足够的信息来帮助你。如果您仍然需要帮助,请发布更多信息,如您的操作系统和其他您能想到的详细信息。在

更新2

在Windows7机器上,我安装了ActivePython2.7.x并观察了您的行为,即没有找到Expect包。这在ActivePython2.7.x的32位和64位版本上都会发生。接下来,我在同一台机器上安装了32位Cygwin,并选择包括Python和Expect。这次,一切正常。在

此时,您有两个选择:

  1. 使用Cygwin
  2. 如果使用64位Python,则可能无法获得Expect的访问权限,请参见article。在
  3. 如果您使用的是32位Python,同一篇文章建议通过teacup命令安装Expect。在

相关问题 更多 >