_tkinter TclError: не удается найти пакет Tix

Друг прислал мне код Tkinter / Tix, но он был для Python 2:

from Tkinter import * import Tix import ScrolledText 

У меня Python 3, у меня нет Tix , и сбой программы. После некоторых поисков я изменил код на:

 from tkinter import * from tkinter import tix from tkinter import scrolledtext 

То, что я нашел в Интернете. Я понятия не имею, подходит ли это правильный подход. Но код по-прежнему не запускает его сбой

 root = tix.Tk() File "/Library/Frameworks/Python.framework/Versions/3.3/lib/python3.3/tkinter/tix.py, line 221, in __init__ self.tk.eval('package require Tix') _tkinter.TclError: can't find package Tix 

Я хотел бы знать, как правильно изменить код, чтобы запустить его и как установить Tix .

Весь код в оригинальной форме: http://pastebin.com/JCqhNSRR

Я протестировал эту проблему здесь (Ubuntu 12.04.5) и получил такую ​​же ошибку. Просмотр через сеть обнаружил дебаты об ошибке этой функции. Вот часть транскрипции, где я нашел решение:

Я на Ubuntu 13.04, и когда я вижу эту ошибку, я устанавливаю пакет tix-dev, и все просто работает. Я бы поверил, что он так же прост в OSX, но я понятия не имею об этом. Кроме того, убедитесь, что вы используете Python 3.3, поскольку это единственная версия, с которой я разрабатываю / тестирую / использую GUI.

Я установил tix-dev ( apt-get install tix-dev ) и протестировал с Python 2.7.3 и Python 3.2.3 и работает.

Тесты, импортирующие tkinter в Python 3.3.3 и Tix в 2.7.5 в OSX 10.9.5, имеют одинаковые проблемы с Ubuntu с использованием ActiveTcl 8.6.3.1 .

Проблема заключается в Tcl lib Tix . Решение состоит в том, чтобы перекомпилировать lib с поддержкой 64 бит.

Флаги, которые я использовал для компиляции, были:

 $ ./configure --enable-64bit --enable-threads --enable-framework --enable-aqua --enable-corefoundation 

Чтобы обеспечить компиляцию на 64-битной платформе, выполните следующую команду

 $ lipo -info libTix8.4.3.dylib Non-fat file: libTix8.4.3.dylib is architecture: x86_64 

После компиляции скопируйте libTix8.4.3.dylib на путь libTix, установив пакет Tcl / Tk .

Обычно путь: /Library/Tcl/teapot/package/macosx10.5-i386-x86_64/lib/Tix8.4.3/libTix8.4.3.dylib

 Python 3.4.3 (v3.4.3:9b73f1c3e601, Feb 23 2015, 02:52:03) [GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> from tkinter import tix >>> root = tix.Tk() >>>