9

As far as I'm aware, cx_freeze is the only app able to make Python scripts to .exe files. However, I would like to make a GUI exe in Python 3. And after freezing a simple Tkinter GUI and running the exe, I get the following error:

> _tkinter.TclError: Can't find a usable init.tcl in the following directories:
>     {C:\Users\User\Desktop\tkinter\build\exe.win32-3.1\tcl}
> C:/Users/User/Desktop/tkinter/build/exe.win32-3.1/tcl8.5
> C:/Users/User/Desktop/tkinter/build/lib/tcl8.5
> C:/Users/User/Desktop/tkinter/build/lib/tcl8.5
> C:/Users/User/Desktop/tkinter/lib/tcl8.5
> C:/Users/User/Desktop/tkinter/build/library
> C:/Users/User/Desktop/tk inter/library
> C:/Users/User/Desktop/tkinter/tcl8.5.2/library
> C:/Users/User/Desktop/tcl8.5.2/library

> This probably means that Tcl wasn't installed properly.

I am using the simple setup cx_freeze option.

My cx_freeze exe bundle is save to the following directory:

C:\Users\User\Desktop\tkinter\build\exe.win32-3.1

Files are:

_ctypes.pyd
_tkinter.pyd
basicLABEL.exe
library.zip
python31.dll
tcl85.dll
tk85.dll
unicodedata.pyd
nbro
  • 15,395
  • 32
  • 113
  • 196
Rhys
  • 4,926
  • 14
  • 41
  • 64

1 Answers1

7

I have just solved the problem myself by copying the tcl8.5 and tk8.5 directories, located in the Python 3 installation directory, into the .exe folder the app works.

nbro
  • 15,395
  • 32
  • 113
  • 196
Rhys
  • 4,926
  • 14
  • 41
  • 64
  • 1
    Just wanted to state that 11/23/2013 cx_freeze using the regular bat file - will do this for you. You don't need to copy the files (python33). Cheers! – MKaras Nov 23 '13 at 14:22