【问题标题】:Installing TkTreectrl on OSX在 OSX 上安装 TkTreectrl
【发布时间】: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 环境变量的方式以及您是否使用了 MacPorts port select python 命令,普通的 python 命令可能会得到您(或其他)。另外,安装到/usr/lib 也不好;这是一个由 OS X 管理的目录。
  • 这很糟糕,因为很容易在不经意间替换 Apple 提供的文件,这些文件会破坏您的系统。此外,当 Apple 发布系统更新时,您可能会发现您的文件随时被删除。一般来说,不要在/System/Library/usr 的任何地方安装任何东西除了 /usr/local
  • 只是作为提示。尽量避免使用 MacPorts,尤其是安装 python。尽可能使用 Homebrew 代替 MacPorts,并使用系统提供的 Python 代替 MacPorts。这在过去给我带来了太多麻烦。

标签: python macos tkinter dylib


【解决方案1】:

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

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

【讨论】:

  • 谢谢!我使用 ActiveTcl 让它工作,但要这样做我必须从 MacPorts python 切换。这没什么大不了的,除了 sudo port select python python27-apple 出于某种原因仍然指向我的 MacPorts 版本。为了让它使用其他 python,我改变了我的路径,以便 MacPorts 紧随其后,从长远来看这并不好。
猜你喜欢
  • 2013-10-25
  • 2015-01-27
  • 2016-01-18
  • 2014-10-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-12-02
  • 2017-08-08
相关资源
最近更新 更多