Re: running gui py script

Discussion in 'Python' started by Dave Angel, Dec 26, 2012.

  1. Dave Angel

    Dave Angel Guest

    On 12/26/2012 03:07 PM, Verde Denim wrote:
    > I'm learning py in this environment -
    > PyCrust 0.9.5 - The Flakiest Python Shell
    > Python 2.6.6 (r266:84292, Dec 26 2010, 22:31:48)
    > [GCC 4.4.5] on linux2
    >
    > When I type a tkinter program in pycrust (or pyshell), it executes as
    > expected, but when I call it from a command line, it doesn't. What I'm
    > getting back is this -
    >
    > python my_first_gui_in_py.py
    > Traceback (most recent call last):
    > File "my_first_gui_in_py.py", line 2, in <module>
    > class myapp_tk(Tkinter.Tk):
    > File "my_first_gui_in_py.py", line 14, in myapp_tk
    > app = myapp_tk(None)
    > NameError: name 'myapp_tk' is not defined
    >
    > Trying to call the file in pycrust doesn't seem to work for me either.
    > If I invoke pycrust either as
    > $ pycrust ./my_first_gui_in_py.py or
    > $ pycrust < ./my_first_gui_in_py.py
    >
    > the editor opens, but with an empty buffer.
    >
    > What is it that I'm not understanding?

    Mainly that it helps to actually show your code, or at least as much of
    it as you think we might be interested in.
    Good job showing us the versions & os, and the full traceback.

    No idea why it works in pycrust; I've never used it, or pyshell. It's
    not clear what you mean by "typing in the shell". if you mean you're
    entering it in the interpreter, then I'd guess you didn't indent it the
    same way as in the file.

    But if it doesn't work at the command line, it's broken. And my guess
    is that you're trying to use the class inside its own definition.
    That's okay inside a method, but not inside the class initialization.
    For example, if you have

    class myapp_tk(Tkinter.Tk):
    app = myapp_tk(None)

    it's not valid. Instead, do the following after the class definition is
    complete:

    myapp.app = myapp_tk(None)

    BTW, it's customary to capitalize the first letter of a class name.

    --

    DaveA
     
    Dave Angel, Dec 26, 2012
    #1
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. Benjamin Rutt
    Replies:
    2
    Views:
    944
    Peter Hansen
    Dec 20, 2005
  2. Replies:
    2
    Views:
    154
    Sean O'Halpin
    Dec 17, 2008
  3. Replies:
    4
    Views:
    189
    Josef Moellers
    Oct 27, 2007
  4. Replies:
    4
    Views:
    297
    ccc31807
    Jul 29, 2011
  5. Verde Denim

    running gui py script

    Verde Denim, Dec 26, 2012, in forum: Python
    Replies:
    0
    Views:
    121
    Verde Denim
    Dec 26, 2012
Loading...

Share This Page