После перехода на python 2.4 заметил следующую неприятную особенность: при попытке использовать в программах с интерфейсом на базе Tkinter простого вызова locale.setlocale(locale.LC_ALL, '') на stderr выдается: error reading package index file /usr/share/tcl/vfs1.3/pkgIndex.tcl: syntax error in expression "[package provide Tcl] < 8.4": extra tokens at end of expression Ошибка выдается в момент инициализации Tk (в момент создания первого объекта Tkinter, будь то Frame или Button или Tk), без setlocale() никакой ошибки не выдается. Кроме того, после вызова setlocale() не работает клавиша BackSpace в полях ввода (например Entry). Вот простой testcase: #!/usr/bin/python # -*- coding: koi8-r -*- import locale import time from Tkinter import * class fmMain(Frame): def createWidgets(self): self.txtOne = Entry(self) self.txtOne.pack() self.txtOne["width"] = 10 self.btnOne = Button(self) self.btnOne["text"] = unicode("Проба", "KOI8-R") self.btnOne["command"] = self.GetOne self.btnOne.pack() def __init__(self, master = None): Frame.__init__(self, master) self.pack() self.createWidgets() def GetOne(self): print time.strftime('%A') locale.setlocale(locale.LC_ALL, "") main = fmMain() main.mainloop() Выдает упомянутую ошибку, не работает забой в поле ввода. Если закомментировать вызов setlocale(), ошибки больше нет, забой работает (и день недели при нажатии на кнопку разумеется выдается в локали C). eugene ~/update $ rpm -q python-modules-tkinter python-modules-tkinter-2.4.0-alt9
2.4.1-alt3 - ошибка уже не выдается, но BackSpace в полях ввода по прежнему не работает после вызова setlocale()
Мндя. Подтверждаю, буду разбираться....
Мы с братвой закоммитили это в апстрим :(, бум ждать...https://sourceforge.net/tracker/index.php?func=detail&aid=1222721&group_id=5470&atid=105470
Reassign to real maintainer.
В 2.5.1 вроде само куда-то исправилось
Да, уже не воспроизводится.