Установка Python 2.7.2 на Suse Linux Server 11.3 не может найти зависимости tkinter - PullRequest
0 голосов
/ 28 декабря 2011

Я потратил на это часы.Похоже, наша работа в Linux состоит в том, чтобы отлаживать сценарии, которые не работают на фрагментированных дистрибутивах, а не выполнять работу.

Setup.py пытается найти то, что ему нужно, и создать модули c, используемые для переноса определенных зависимостейесли он может найти то, что ему нужно.Это делает сценарий очень хрупким по отношению к путям и именам файлов.

Хотя из источника .py ОЧЕНЬ сложно сказать, кажется, что для tkinter нам нужны tcl, tk и tix.Все последние версии установлены.Я могу это проверить, потому что Python 2.6, который поставляется с модулями SUSE distro import_tkinter и Tkinter и правильно запускает тестовый скрипт.

Сценарий, похоже, должен найти библиотеки.У меня установлены как 32-разрядные, так и 64-разрядные.Итак, эти библиотеки существуют: 32-битная 64-битная libtk8.5.so / usr / lib / usr / lib64 libtcl8.5.so ""

Оба пути включены в соответствующий список поиска в Setup.py.Но я не думаю, что Setup.py ищет правильные имена файлов.Похоже, он ищет файлы, начинающиеся с tk и tcl, объединяя различные версии (включая '8.5').Но имена файлов не начинаются с 'lib'.Прежде чем я начну вмешиваться, неужели ребята из Python.org действительно так все испортили?Это не похоже на вероятность.Является ли SUSE Linux таким странным дистрибутивом?Это также маловероятно.

Я не думаю, что setup.py будет искать двоичные файлы (это будет иметь значение во время выполнения, как кажется ...), но они присутствуют в usr / lib и usr/lib64.

Единственный включаемый файл, который я могу найти, предназначен для tclextend.Это tclextend.h находится в usr / include.Я не смог найти другие .h файлы для tcl или tk.Конечно, включаемые файлы, которые требуются оболочкам Python c, поставляются вместе с загрузкой Python 2.7.

Итак, я как бы в своем уме.Это такая колоссальная трата времени.Есть ли способ просто пропустить процесс сборки и просто собрать поддержку tcl / tk?У меня также есть такая же проблема с ssl: он не будет строить.Одна вещь за раз.

Спасибо за вашу помощь.

1 Ответ

0 голосов
/ 29 декабря 2011

Я нашел много точек распространения для наборов пакетов rpm. Это позволило мне установить отдельные пакеты, такие как заголовки для tcl. Но это был плохой подход, потому что полная иерархия зависимостей для создания поддержки Python для tkinter составляет порядка 60 пакетов.

Я обнаружил, что репозиторий OpenSuSE для версии 11.3 ОС содержит все, что мне нужно. Мой дистрибутив Novell поставляется с репозиториями Novell, которые исключают почти все пакеты devel.

Проблема решена. Марка python нашла все предпосылки для tkinter.

Извините, что опубликовал такой вопрос.

...