2010-11-22 3 views
2

Я получаю следующую ошибку при запуске приложения GUI python/tkinter, которое я написал._tkinter.TclError: неверное имя команды "labelframe"

Я думал, что это может быть проблема с версией Tcl/Tk, но команда LabelFrame() была добавлена ​​в Tcl/Tk 8.4 (это версия, которую я использую).

Другой компьютер, на котором я пытаюсь выполнить программу, может запустить другое приложение python/tkinter, которое я написал, - разница между приложениями заключается в том, что используется виджет LabelFrame(), а другой нет.

Traceback (most recent call last): 
    File "/home/nharris/python/isub_parser/isub.py", line 672, in <module> 
    timeFrame = LabelFrame(optFrame, text="Time Scale Options") 
    File "/usr/apps/Python/python2.6.1-rhel3-i686/lib/python2.6/lib-tk/Tkinter.py", line 3525, in __init__ 
    Widget.__init__(self, master, 'labelframe', cnf, kw) 
    File "/usr/apps/Python/python2.6.1-rhel3-i686/lib/python2.6/lib-tk/Tkinter.py", line 1932, in __init__ 
    (widgetName, self._w) + extra + self._options(cnf)) 
_tkinter.TclError: invalid command name "labelframe" 
+1

Что такое вывод `import Tkinter, print Tkinter.TkVersion` – SingleNegationElimination 2010-11-22 21:45:46

ответ

2

В зависимости от того, как он был построен и установлен, python может использовать свою специальную версию TCL/TK. Обычно это относится к окнам, иногда к случаю в Linux и редко относится к MacOS X. Вы должны полагаться на версию, сообщаемую внутри python, чтобы узнать, какую версию она использует.

Если python не использует установленную версию (как в случае, если вы испытываете), вы можете попробовать обновить python. Если в вашем дистрибутиве Linux вы не сможете преодолеть способ создания python с использованием доступных пакетов, вам придется строить python из источника, чтобы использовать более новую версию TCL/TK или использовать установленную версию.

1

можно получить две различные версии Tcl/Tk сообщили об использовании этих двух методов:

Method 1: 
>tclsh 
%info patchlevel 
8.4.15 

Method 2: 
>python 
>>>import Tkinter;print Tkinter.TkVersion 
8.3 

Key: 
> default command line 
>>> python command line 
% tcl command line 

Обновление Tcl/Tk должен это исправить.

Смежные вопросы