Найти - Пользователи
Полная версия: Как собрать Python 2.5 с поддержкой Tkinter?
Начало » Python для экспертов » Как собрать Python 2.5 с поддержкой Tkinter?
1 2 3
Все ники заняты
Я совсем начинающий, прошу сильно не пинать.
ALT Linux, собрал Python 2.5 по умолчанию, т.е. просто:
./configure
make
make install
(Может, это я глупость сделал.)
При попытке запустить idle говорит “IDLE can't import Tkinter. Your Python may not be configured for Tk”.
Запускал “./configure –help”, ничего не понял. Помогите пожалуйста, как собрать Python 2.5 с поддержкой Tkinter?

В “Установке программ” пакет “tk” установлен. Вообще-то мне надо просто запустить idle. Может, необходимость пересборки Питона с поддержкой Tk - это мой бред, не знаю.

Важный нюанс: Питон 2.4 изначально стоял, и я его не сносил. Я поставил Питон 2.5 из исходников, ручками (в пакетах он не предлагается, там только 2.4), может это как-то перекосило систему?

Как откатитиься назад, не знаю, make uninstall говорит, что “Нет правила для сборки цели ‘uninstall’. Останов.”
Mkdir
Я бы поставил Debian. А лучше Ubuntu. И не компилировал бы python, а ставил бы из пакейджев.
Все ники заняты
Запускал “./configure –help”, ничего не понял.
Это уже совсем плохо. Все что нужно знать, чтобы успешно админить линукс - это знание английского языка. Все остальное в документации подробно-подробно описано.
Все ники заняты
В “Установке программ” пакет “tk” установлен.
Ага. Для версии 2.4.
Просто у python2.4 и 2.5 разные либы. В старом питоне у тебя установлен Tk и IDLE, а в новом нет.

Все ники заняты
Важный нюанс: Питон 2.4 изначально стоял, и я его не сносил. Я поставил Питон 2.5 из исходников, ручками (в пакетах он не предлагается, там только 2.4), может это как-то перекосило систему?

Как откатитиься назад, не знаю, make uninstall говорит, что “Нет правила для сборки цели ‘uninstall’. Останов.”
Систему не перекосило. Все нормально. Зайди в консоль и посмотри какой python у тебя запускается по умолчанию.
Блин… если у тебя нет базы, то очень много придётся объяснять + я не знаю какие пути у тебя в системе и где стоит новый питон.
Помог бы если был бы непосредственно за твоей машиной.
Все ники заняты
Mkdir
Большое спасибо за участие :). Насколько я понял, установка 2.5 из исходников была глупостью.
По умолчанию теперь запускается ессно 2.5.
Тогда вопрос: как снести 2.5, чтобы остался полноценный 2.4?
Если надо, могу запостить содержимое вывода команд, каких скажете, содержимое Makefile или чего ещё…
j2a
По умолчанию теперь запускается ессно 2.5.
Если правильно понимаю, то по /usr/bin/python запускается 2.4, а по /usr/local/bin/python – 2.5?
Mkdir
Все ники заняты
Насколько я понял, установка 2.5 из исходников была глупостью.
Я б так не сказал. Пускай уже 2.5 остаётся.
Посмотри есть ли такой путь: /usr/local/lib/python2.5/site-packages
А еще лучше сделай: $ ls /usr/local/lib/python2.5/site-packages
И глянь что там. Если там много файлов, значит все модули для 2.5 складываются в эту директорию.

Все ники заняты
Тогда вопрос: как снести 2.5, чтобы остался полноценный 2.4?
Думаю, в этом нет необходимости. Я сейчас скачаю исходники 2.5 и посмотрю какие опции есть для ./configure
Не расстраивайся, разберёмся )
Mkdir
j2a
Если правильно понимаю, то по /usr/bin/python запускается 2.4, а по /usr/local/bin/python – 2.5?
По идее make install должен был установить python с префиксом /usr/local
Но если по умолчанию 2.5 запускается, то странно… Не мог ведь make install переписать поверх /usr/bin/python…
j2a
Mkdir
j2a
Если правильно понимаю, то по /usr/bin/python запускается 2.4, а по /usr/local/bin/python – 2.5?
По идее make install должен был установить python с префиксом /usr/local
Но если по умолчанию 2.5 запускается, то странно… Не мог ведь make install переписать поверх /usr/bin/python…
echo $PATH :) /usr/local/bin стоит впереди /usr/bin.
j2a
При попытке запустить idle говорит “IDLE can't import Tkinter. Your Python may not be configured for Tk”.
Запускал “./configure –help”, ничего не понял. Помогите пожалуйста, как собрать Python 2.5 с поддержкой Tkinter?
При сборке Python должны стоять devel-пакет с libtk. Например, в debian он называется tk8.4-dev; в ALT что-то типа tk-devel.
Mkdir
./configure –help сказал:
By default, `make install' will install all the files in `/usr/local/bin', `/usr/local/lib' etc.
Значит все верно. Странно что Tkinter не импортится. Я сперва думал, что он по дефолту не собирается и надеялся что в ./configure должна присутствовать опция вроде –with-tk или что-то в этом роде. Но её нет.

А! Вот нашёл. Внимательно смотрим в README:
Tkinter
——-

The setup.py script automatically configures this when it detects a
usable Tcl/Tk installation. This requires Tcl/Tk version 8.0 or
higher.
Короче говоря, Tkinter собирается если в системе есть Tcl/Tk версии 8.0 или выше.
Значит качаем эти два архива:
- сорцы Tcl: http://prdownloads.sourceforge.net/tcl/tcl8.5a5-src.tar.gz
- сорцы Tk: http://prdownloads.sourceforge.net/tcl/tk8.5a5-src.tar.gz

Последовательность действий:
$ cd ~
$ mkdir tcl-tk
$ cd tcl-tk
$ wget http://prdownloads.sourceforge.net/tcl/tcl8.5a5-src.tar.gz
$ wget http://prdownloads.sourceforge.net/tcl/tk8.5a5-src.tar.gz
$ tar -xf tcl8.5a5-src.tar.gz
$ tar -xf tk8.5a5-src.tar.gz
$ cd tcl8.5a5-src
$ ./configure
$ make
$ sudo make install
$ cd ../tk8.5a5-src
$ ./configure
$ make
$ sudo make install
Если все пройдёт без ошибок, то у тебя в системе будет все необходимое для поднятия Tkinter.
После установки библиотек Tcl/Tk, идёшь в директорию с исходниками python и:
$ make clean
$ ./configure
$ make
$ sudo make install
Mkdir
j2a
echo $PATH :) /usr/local/bin стоит впереди /usr/bin.
=) Но не всегда. Когда я собирал python в федоре, /usr/bin был приоритетнее.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB