python - python的Tkinter模块中找不到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>", 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。这一次,一切正常。

此时,您有几个选择:

  1. 使用 Cygwin
  2. 如果您使用 64 位 Python,您可能无法访问 Expect,请参阅此 article .
  3. 如果您使用 32 位 Python,同一篇文章建议了一种通过 teacup 命令安装 Expect 的方法。

关于python - python的Tkinter模块中找不到tcl Expect,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20145982/

相关文章:

python-3.x - python3 tkinter 或 ncurses

python - 为什么此 Python 代码中出现缩进错误

windows - Inno Setup - 在执行 Google Chrome 时如何告诉安装,它应该打开 stackoverflow.com?

go - 将命令行字符串解析为 Golang 中的标志和参数

python - Python3.x RuntimeError:事件循环已关闭

python - 无法使用 python 3.7 启动 pipenv

python - 使用 Django REST API 访问 Odoo 数据

python - 使用 matplotlib 动画时权限被拒绝

python - 使用 tix、Tkinter 从 ComboBox 获取值

Python 子模块内部引用——它们真的很疯狂吗?