Tcl / Tk Tkinter версии 8.4 и 8.5 конфликтуют в Mac Os X 10.4.11 с python 2.6.4 - PullRequest
1 голос
/ 12 февраля 2010

У меня проблемы с настройкой и запуском Tkinter для установки matplot lib.

Я использую Mac OS X 10.4.11 и только что установил Python 2.6.4.

После нескольких других поединков мне остается установить боевую версию matlotlib за рабочую версию Tkinter, хотя на моем Mac есть несколько версий от Xcode, а также Python, я думаю, они просто не установлены в полезных местах. ? После того, как я установил Python 2.6.4, импорт _tkinter не удался. Поэтому я установил Tcl 8.5 из активного состояния.

Теперь я делаю тест Tkinter:

Tkinter._test () Traceback (последний вызов был последним): Файл "", строка 1, в Файл "/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/lib-tk/Tkinter.py", строка 3746, в _test root = Tk () Файл "/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/lib-tk/Tkinter.py", строка 1645, в init self._loadtk () Файл "/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/lib-tk/Tkinter.py", строка 1659, в _loadtk % (_tkinter.TK_VERSION, tk_version) Ошибка RuntimeEr: версия tk.h (8.4) не соответствует версии libtk.a (8.5)

Я понимаю, что вы обсуждали точную ошибку, которую я описываю здесь: http://bugs.python.org/issue4017

но эти ошибки возникли из-за проблемы с более ранней версией python, где setup.py изменил порядок поиска. Совет в вашем предыдущем посте состоит в том, чтобы исправить этот порядок в setup.py и пересобрать python, но мой setup.py уже выглядит хорошо - он содержит следующие строки:

def detect_tkinter_darwin (self, inc_dirs, lib_dirs): # Модуль _tkinter, использующий фреймворки. Так как рамки довольно # различная логика поиска в UNIX не является разделяемой. из os.path импорт присоединяется, существует framework_dirs = [ '/ Library / Frameworks', '/ System / Library / Frameworks /', join (os.getenv ('HOME'), '/ Library / Frameworks')

Я был бы очень признателен за понимание того, как с этим справиться! (Я биолог ...)

Пока я в этом, я включу то, что происходит, когда я попытаюсь установить m matplotlib на случай, если это будет полезно ... matplotlib думает, что у меня Tkinter 8.4 (по иронии судьбы, только после установки 8.5, до он всегда говорил, что не может найти Ткинтер):

Tkinter: Tkinter: 65971, Tk: 8,4, Tcl: 8,4

также вот ошибка, с которой я сталкиваюсь при попытке собрать matplotlib:

powerpc-apple-darwin8-g ++ - 4.0.1: нераспознанная опция '-syslibroot, / Developer / SDKs / MacOSX10.4u.sdk' i686-apple-darwin8-g ++ - 4.0.1: нераспознанная опция '-syslibroot, / Developer / SDKs / MacOSX10.4u.sdk' / usr / bin / ld: -syslibroot: указано несколько раз collect2: ld вернул 1 статус выхода / usr / bin / ld: -syslibroot: указано несколько раз collect2: ld вернул 1 статус выхода lipo: не могу открыть входной файл: /var/tmp//ccrblCgU.out (нет такого файла или каталога) ошибка: команда 'g ++' завершилась неудачно с состоянием выхода 1 make: *** [mpl_build] Ошибка 1

спасибо !!

Katrine

1 Ответ

2 голосов
/ 25 февраля 2010

Я думаю, что важным моментом из предыдущих предложенных решений было то, что Python после установки определяет правильную версию и местоположение Tk. Я предполагаю, что вы установили Tk после установки Python. Эта проблема была решена на моей машине, когда я переустановил Python2.6 с помощью установщика .dmg. Мне не нужно было восстанавливать или что-нибудь. Надеюсь, это поможет. :)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...