【发布时间】:2011-11-18 02:18:50
【问题描述】:
我安装了 TkTreeCtrl 2.4.1(用 c 编写),以及包装了原始 c 库的 TkTreectrl 1.0(用 python 编写)。
当我尝试在 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 安装的。
【问题讨论】:
-
哪个版本的 OS X?哪个 Python 解释器?
-
我添加了我的详细信息。只是出于好奇,当问题被编辑时,评论者会收到通知吗?
-
(我不这么认为,但是添加新评论时会通知评论者。)您确定您使用(安装)并且现在使用的是 MacPorts Python 2.7 而不是 Apple-提供 Python 2.7?后者位于
/usr/bin/python2.7,默认为/usr/bin/python;前者,/opt/local/bin/python2.7。根据您设置 shell PATH 环境变量的方式以及您是否使用了 MacPortsport select python命令,普通的python命令可能会得到您(或其他)。另外,安装到/usr/lib也不好;这是一个由 OS X 管理的目录。 -
这很糟糕,因为很容易在不经意间替换 Apple 提供的文件,这些文件会破坏您的系统。此外,当 Apple 发布系统更新时,您可能会发现您的文件随时被删除。一般来说,不要在
/System/Library或/usr的任何地方安装任何东西除了/usr/local。 -
只是作为提示。尽量避免使用 MacPorts,尤其是安装 python。尽可能使用 Homebrew 代替 MacPorts,并使用系统提供的 Python 代替 MacPorts。这在过去给我带来了太多麻烦。
标签: python macos tkinter dylib