1

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とPython2.7を実行しています。PythonはMacPortsを使用してインストールされました。

4

1 に答える 1

1

MacPortsは、Pythonポートについて、現在、独自のX11ベースのTclおよびTkポートを構築およびインストールしています。TkTreeCtrlをビルドするとき./configureは、MacPortsが提供するTcl、Tk、およびX11ライブラリとインクルードファイルの正しい場所を指定するように注意する必要があるようです。./configure --helpオプションの名前については、を参照してください。ライブラリを見つけて、/opt/local/MacPortsファイルのデフォルトのインストール場所であるファイルをインクルードする必要があります。

ただし、もっと簡単なオプションがあるかもしれません。Tcl/TkのActiveTclディストリビューションにはTkTreeCtrlが含まれているようです。ActiveTclとリンクするPythonを使用する場合は、PythonTkTreectrlモジュールをインストールするだけで済みます。これは簡単です。Lionでは、ActiveTcl 8.5の無料(オープンソースではありません)のダウンロードがここから入手できます。これは、ここから入手できるOSX用のpython.org2.7.264ビットインストーラーで自動的に使用されます。ActiveStateには、OSX用の独自のPythonディストリビューションもあります。OSXでのPythonとTcl/Tkの癖について詳しくは、こちらをご覧ください。ActiveTclはOSXでのよりネイティブな実装であることに注意してください。X11ベースではありません。

于 2011-11-18T19:12:37.723 に答える