Tkinter Cxfreeze Ошибка - PullRequest
       12

Tkinter Cxfreeze Ошибка

1 голос
/ 08 октября 2010

Я пытаюсь сделать exe в Windows из python, который я разработал в Linux.Программа работает самостоятельно на python под Windows, и когда я использую cxfreeze, она завершает работу и создает исполняемый файл.Однако, когда я запускаю его, я получаю:

C:\projects\0802001S\dist>listen.exe
Traceback (most recent call last):
  File "C:\Python26\lib\site-packages\cx_Freeze\initscripts\Console.py", line 27
, in <module>
    exec code in m.__dict__
  File "./listen.py", line 425, in <module>
  File "C:\Python26\lib\lib-tk\Tkinter.py", line 1643, in __init__
    self.tk = _tkinter.create(screenName, baseName, className, interactive, want
objects, useTk, sync, use)
_tkinter.TclError: Can't find a usable init.tcl in the following directories:
    C:/projects/0802001S/lib/tcl8.5 C:/projects/0802001S/lib/tcl
8.5 C:/projects/lib/tcl8.5 C:/projects/0802001S/library C:/projects/libr
ary C:/projects/tcl8.5.9/library C:/tcl8.5.9/library

Это, вероятно, означает, что Tcl не был установлен должным образом.

Итак, я искал init.tcl в моем каталоге Python26 в моем C: drive, и скопировал его в один из предложенных каталогов.Который затем дал мне эту ошибку:

C:\projects\0802001S\dist>listen.exe
Traceback (most recent call last):
  File "C:\Python26\lib\site-packages\cx_Freeze\initscripts\Console.py", line 27
, in <module>
    exec code in m.__dict__
  File "./listen.py", line 425, in <module>
  File "C:\Python26\lib\lib-tk\Tkinter.py", line 1643, in __init__
    self.tk = _tkinter.create(screenName, baseName, className, interactive, want
objects, useTk, sync, use)
_tkinter.TclError: invalid command name "tcl_findLibrary"

Я, кажется, в этот момент ударил стену и помню, почему я в первую очередь перешел на Linux.

Любые предложения от кого-то, кто болеезнакомы с Windows?

1 Ответ

1 голос
/ 29 декабря 2010

Я просто столкнулся с чем-то похожим.На данный момент у меня есть вывод: скопировать tcl8.5 и tk8.5 в каталог, в котором вы запускаете listen.exe (dist / build dir).

Я также был в списке рассылки cx_freeze и тамупоминал о перехвате, возможно, работающем только в Unix, так как он никогда не тестировался в Windows в этой текущей сборке (29.12.10)

...