1

我安装了 TkTreeCtrl 2.4.1(用 c 编写)和 TkTreectrl 1.0(用 python 编写),它包装了原始的 c 库。

当我尝试在 Python 中创建任何 treectrl 对象时,出现错误:

_tkinter.TclError: can't find package treectrl

我对 Python 很陌生,但我猜 Python 包装器代码找不到 c 库。

当我安装 TkTreeCtrl(c) 时,它以 .dylib 文件的形式安装在 '/usr/lib/treectrl2.4.1' 中。

我以前从未使用过 .dylib,但一些谷歌搜索告诉我将它所在的目录添加到环境变量“DYLD_LIBRARY_PATH”中。

我做到了,但没有运气。我不确定我什至知道我的问题是什么,所以任何帮助将不胜感激!

我正在运行 Lion 和 Python 2.7。Python 是使用 MacPorts 安装的。

4

1 回答 1

1

对于其 Python 端口,MacPorts 目前构建并安装了自己的基于 X11 的 Tcl 和 Tk 端口。看起来您在构建 TkTreeCtrl 时需要小心,以便./configure为 MacPorts 提供的 Tcl、Tk 和 X11 库和包含文件指定正确的位置。有关./configure --help选项的名称,请参阅。/opt/local/您应该在 MacPorts 文件的默认安装位置下找到库和包含文件。

不过,可能有一个更简单的选择。似乎 Tcl/Tk 的 ActiveTcl 分布包括 TkTreeCtrl。如果您使用与 ActiveTcl 链接的 Python,则只需安装 Python TkTreectrl 模块,这很简单。在 Lion 上,ActiveTcl 8.5 的免费(尽管不是开源)下载可在此处获得,它将自动与适用于 OS X 的 python.org 2.7.2 64 位安装程序一起使用,可在此处获得。ActiveState 还为 OS X 提供了自己的 Python 发行版。这里有更多关于 OS X 上 Python 和 Tcl/Tk 的一些怪癖的信息。请注意,ActiveTcl 是 OS X 上更本机的实现;它不是基于 X11 的。

于 2011-11-18T19:12:37.723 回答