Установка TkTreectrl на OSX - PullRequest
       5

Установка TkTreectrl на OSX

1 голос
/ 18 ноября 2011

Я установил TkTreeCtrl 2.4.1 (написанный на c), а также TkTreectrl 1.0 (написанный на python), который упаковывает исходную библиотеку c.

Когда я пытаюсь создать любые объекты treectrl в Python,Я получаю сообщение об ошибке:

_tkinter.TclError: can't find package treectrl

Я довольно плохо знаком с Python, но я предполагаю, что код оболочки Python не может найти библиотеку c.

Когда я установил TkTreeCtrl(c) он установился в '/usr/lib/treectrl2.4.1' как файл .dylib.

Я никогда раньше не использовал .dylib, но некоторые поиски в Google сказали мне добавить каталог, которым он былв переменную окружения 'DYLD_LIBRARY_PATH'.

Я сделал это, но не повезло.Я не уверен, что даже знаю, в чем заключается моя проблема, поэтому любая помощь будет принята с благодарностью!

Я использую Lion и Python 2.7.Python был установлен с использованием MacPorts.

1 Ответ

1 голос
/ 18 ноября 2011

Для своих портов Python MacPorts в настоящее время создает и устанавливает свои собственные порты Tcl и Tk на основе X11.Похоже, вам нужно быть осторожным при сборке TkTreeCtrl, чтобы указать правильные местоположения для ./configure для MacPorts, предоставленных библиотек Tcl, Tk и X11 и включаемых файлов.Смотрите ./configure --help для названий опций.Библиотеки и включаемые файлы должны быть найдены в /opt/local/, месте установки по умолчанию для файлов MacPorts.

Хотя может быть и более простой вариант.Похоже, что дистрибутивы ActiveTcl для Tcl / Tk включают TkTreeCtrl.Если вы используете Python, который связывается с ActiveTcl, вам просто нужно установить модуль Python TkTreectrl, что довольно просто.На Lion доступна бесплатная (хотя и не с открытым исходным кодом) загрузка ActiveTcl 8.5 здесь , которая будет автоматически использоваться вместе с 64-битным установщиком python.org 2.7.2 для OS X здесь .ActiveState также имеет собственный дистрибутив Python для OS X. Более подробную информацию о некоторых особенностях Python и Tcl / Tk в OS X можно найти здесь .Обратите внимание, что ActiveTcl - более естественная реализация в OS X;он не основан на X11.

...