Python 在OSX上安装TkTreectrl

Python 在OSX上安装TkTreectrl,python,macos,tkinter,dylib,Python,Macos,Tkinter,Dylib,我安装了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”中 我以前从未使

我安装了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\u LIBRARY\u PATH”中

我做到了,但运气不好。我甚至不知道我的问题是什么,所以任何帮助都将不胜感激


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

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


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

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


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

哪个版本的OS X?哪个Python解释器?我添加了我的详细信息。出于好奇,当一个问题被编辑时,是否会通知评论者?(我不这么认为,但当添加新的评论时,评论者会收到通知。)您确定您使用(安装)了MacPorts Python 2.7,而不是苹果提供的Python 2.7吗?后者位于
/usr/bin/python2.7
,默认情况下为
/usr/bin/python
;前者位于
/opt/local/bin/python2.7
。根据您设置shell PATH环境变量的方式以及是否使用了MacPorts
port-select-python
命令,普通的
python
命令可能会让您得到其中一个(或其他东西)。另外,安装到
/usr/lib
中也不好;这是一个由OSX管理的目录。这很糟糕,因为它很容易在不经意间替换苹果提供的文件,而这些文件可能会阻塞您的系统。此外,当苹果发布系统更新时,您可能会发现您的文件随时被删除。一般来说,不要在
/System/Library
/usr
中的任何位置安装任何东西,除了
/usr/local
。这只是一个提示。尽量避免使用MacPorts,尤其是在安装python时。只要有可能,请使用自制软件代替MacPorts,并使用系统提供的Python代替MacPorts one。这在过去给我带来了太多的麻烦。哪个版本的OSX?哪个Python解释器?我添加了我的详细信息。出于好奇,当一个问题被编辑时,是否会通知评论者?(我不这么认为,但当添加新的评论时,评论者会收到通知。)您确定您使用(安装)了MacPorts Python 2.7,而不是苹果提供的Python 2.7吗?后者位于
/usr/bin/python2.7
,默认情况下为
/usr/bin/python
;前者位于
/opt/local/bin/python2.7
。根据您设置shell PATH环境变量的方式以及是否使用了MacPorts
port-select-python
命令,普通的
python
命令可能会让您得到其中一个(或其他东西)。另外,安装到
/usr/lib
中也不好;这是一个由OSX管理的目录。这很糟糕,因为它很容易在不经意间替换苹果提供的文件,而这些文件可能会阻塞您的系统。此外,当苹果发布系统更新时,您可能会发现您的文件随时被删除。一般来说,不要在
/System/Library
/usr
中的任何位置安装任何东西,除了
/usr/local
。这只是一个提示。尽量避免使用MacPorts,尤其是在安装python时。只要有可能,请使用自制软件代替MacPorts,并使用系统提供的Python代替MacPorts one。这在过去给我带来了太多的麻烦。谢谢!我使用ActiveTcl实现了这一点,但要做到这一点,我必须从MacPorts python中切换。这没什么大不了的,除了