Tkinter vs. py2exe problem

msunderwd at gmail.com msunderwd at gmail.com
Wed Dec 5 10:07:35 EST 2007


On Dec 5, 9:50 am, msunde... at gmail.com wrote:
> Having a problem with "compiling" a Tkinter/python program using
> py2exe (and pyinstaller, for that matter)...
>
> I have several dialogs that are derived from the tkSimpleDialog.Dialog
> class.  These work just fine if run through the interpreter.  When I
> "compile" this with py2exe, I don't see any errors, and when I execute
> the resulting program, it "appears" to work fine until I invoke one of
> the derived dialogs.
>
> Then, I get the "body" of the dialog, but no "OK" or "Cancel" button,
> and I get the following exception:
>
>                AttributeError: MyDialog instance has no attribute
> 'buttonbox'
>
> For reference, MyDialog is declared as follows:
> #--------------------------------------------------------------------------------
>
> from Tkinter import *
> import tkSimpleDialog
> class MyDialog(tkSimpleDialog.Dialog)
>
> #--------------------------------------------------------------------------------
>
> And my setup.py file looks like this:
>
> #--------------------------------------------------------------------------------
>
> from distutils.core import setup
> import py2exe
>
> setup(console=['tcgui3.py'])
>
> #--------------------------------------------------------------------------------
>
> I'm invoking py2exe like this:
>
> C:\python setup.py py2exe -p Tkinter -p tkSimpleDialog
>
> ??????

Nevermind.  I fixed it.  I had a tkSimpleDialog.py in my local
directory that was typed in from an introductory text.

Apparently this was confusing Python.  Removing that file, and letting
it find the tkSimpleDialog from Tk makes it work.

Thanks, anyway.



More information about the Python-list mailing list