I think in all cases, we need to know exactly how the program is being started.

e.g.
8.6.10: tclsh / package require Tk : menu is unresponsive
8.6.10: wish : menu OK
8.6.10: my application started as a .app : menu OK
        (uses wish).
8.6.10: my application started from the command line : menu unresponsive
        (uses tclsh).

I would guess that python/tkinter is similar to tclsh/package require Tk.