0

I'm trying to build my application into an .app file and I kept hitting the following error.

[Errno 2] No such file or directory: '/Library/Frameworks/Tcl.framework/Versions/8.5/Tcl'

So I downloaded ActiveTcl8.5 and the error went away. Now I'm able to build using the following command:

python3 setup_cx_freeze.py bdist_dmg

But my application runs and immediately closes. I ran it from the cmd to get a sense as to what the error is and the only feedback I'm getting is LSOpenURLsWithRole() failed with error -10810. What am I doing wrong? Why did I need Tcl in order to use cx freeze and why does my app not want to open? This is my setup file.

import sys
from cx_Freeze import setup, Executable

build_exe_options = {"packages": ['tkinter', 'smb.SMBConnection'], "excludes": [], "includes": [], "include_files":['Project_Images', 'Project_Docs'], "bin_path_excludes": []}

setup(
    name = "Test",
    version = "2.51",
    description = "Will this even work?",
    options = {"build_exe": build_exe_options},
    executables = [Executable("AccuAdmin.py")])
terratunaz
  • 614
  • 3
  • 9
  • 19
  • 1
    Well, it needs Tcl/Tk because it is using the tkinter python extension for the GUI. (advertisement) Tk is the easiest, fastest cross-platform GUI. – Brad Lanam May 11 '16 at 18:08

1 Answers1

1

Tcl is a programming language, invented at roughly the same time as Python. Tkinter is a thin wrapper on top of an embedded tcl interpreter with the "tk" widget extension. You cannot use tkinter without tcl/tk.

Bryan Oakley
  • 370,779
  • 53
  • 539
  • 685
  • So Tcl should have already been on my computer if Python was installed since Tkinter comes with Python and Tkinter needs Tcl to run correct? Because I noticed that after downloading the Tcl/tk framework again it broke all the applications I started creating using py2app. As in I couldn't open them it wasn't until I deleted those frameworks that I was able to open them again.Why would cx freeze be looking in the wrong location? – terratunaz May 11 '16 at 21:17
  • @terratunaz: I do not know. I've never used cx_freeze. Your question asked what tcl is and why you need it. – Bryan Oakley May 11 '16 at 21:26