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

在python的Tkinter模块中找不到tcl Expect,python,tkinter,package,tcl,expect,Python,Tkinter,Package,Tcl,Expect,我试图在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>",

我试图在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
来自Tkinter导入的
>>*
>>>tcl=tcl()
>>>eval('put$tcl\u version')
8.5
''
>>>tcl.eval('包需要expect')
回溯(最近一次呼叫最后一次):
文件“”,第1行,在
_tkinter.TclError:找不到包expect

请告诉我如何使它工作。我的机器安装了tcl,Expect工作正常。

Expect应大写:

tcl.eval('package require Expect')
是的,TCL是一种区分大小写的语言

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

启动TCL shell:

tclsh
查看是否可以使用Expect软件包:

package require Expect
如果您看到错误,这意味着您没有安装Expect软件包,或者路径错误。如果不这样做,那么在启动Python shell时,您的路径就会改变

无论哪种情况,我都没有足够的信息来帮助你。如果您仍然需要帮助,请发布更多信息,如您的操作系统和您可以想到的其他详细信息

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

此时,您有两个选择:

  • 使用Cygwin
  • 如果您使用64位Python,您可能无法访问Expect,请参见此
  • 如果您使用的是32位Python,同一篇文章建议通过
    teacup
    命令安装Expect

  • Expect应资本化:

    tcl.eval('package require Expect')
    
    是的,TCL是一种区分大小写的语言

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

    启动TCL shell:

    tclsh
    
    查看是否可以使用Expect软件包:

    package require Expect
    
    如果您看到错误,这意味着您没有安装Expect软件包,或者路径错误。如果不这样做,那么在启动Python shell时,您的路径就会改变

    无论哪种情况,我都没有足够的信息来帮助你。如果您仍然需要帮助,请发布更多信息,如您的操作系统和您可以想到的其他详细信息

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

    此时,您有两个选择:

  • 使用Cygwin
  • 如果您使用64位Python,您可能无法访问Expect,请参见此
  • 如果您使用的是32位Python,同一篇文章建议通过
    teacup
    命令安装Expect

  • 我打赌这是Python试图使用自己的内置版本,而不是明智地坚持系统构建。不知道如何修复…是的,我想要相同的,但不知道它将如何工作??请帮忙!!!我打赌这是Python试图使用自己的内置版本,而不是明智地坚持系统构建。不知道如何修复…是的,我想要相同的,但不知道它将如何工作??请帮忙!!!嗨,海,在tcl它正在工作,但我的问题是。但是我需要从Tkinter导入>>>>>tcl=tcl()>>>>tcl.eval('put$tcl_version')8.5'>>>tcl.eval('package require expect')这应该在Python中工作我的操作系统是XP,我使用的是python 2.7.XX——请帮助Hi Hai,在tcl中,它正在工作,但我的问题是。但是我需要从Tkinter导入>>>>>tcl=tcl()>>>>tcl.eval('put$tcl_version')8.5'>>>tcl.eval('package require expect')这应该在Python中工作我的操作系统是XP,我使用的是python 2.7.XX——请提供帮助