Python & Linux ?

Alex Martelli aleaxit at yahoo.com
Tue May 22 08:04:45 EDT 2001


"Peter Moscatt" <pmoscatt at bigpond.net.au> wrote in message
news:3B0A4927.9010901 at bigpond.net.au...
> Hi Alex,
> Thanks for that mate.... yea, it is starting to make some sense  :-)

You're welcome!

> Yes, to be truthful, VB is basically an Interpreter as it requires the
> VBRun.dll installed before you can exacute any app that one may have
> created.

The interpreter/compiler distinction is not crucial, anyway.  VB,
Python, Java, all have compilation steps (implicit or explicit)
that produce some kind of intermediate code.  Options to produce
native code (available in VB and other languages, not in Java or
Python for now) often end up producing code that is little more
than a series of calls to functions in the runtime libraries,
anyway.  So the runtimes are needed in any case (VBRun.DLL,
Python21.Dll, MSVCRT.Dll -- each language implementation has
some).  The ability to pack up the runtime DLL together with
the executable file that uses it is truly a minor packaging
detail, one I wouldn't worry about.


> That do you consider to be a good Python IDE that supports GUI as well ?

IDLE is what I use.  But maybe I don't understand what you
mean by "supports GUI"?


> Had a look for Python and yes I do have it as well as IDLE.
>
> I have just downloaded and installed ActiveStart's Komodo as I hear it's
> a pretty good tool but dosen't support GUI.

If you mean a *GUI _painter_*, then maybe Boa Constructor is
what you want -- http://boa-constructor.sourceforge.net/.  It
rests on the great wxPython kit (which in turns rests on the
equally great wxWindows cross-platform library).

But there are so many alternatives!  Why get your GUI painter
bundled with language-specific IDE aspects, after all?  GUI
kits are cross-language today, so why not paint your GUI with
a dedicated program and use a separate IDE for *development*
itself, which is a different matter?

For example, have a look at Glade.  http://glade.gnome.org/.
You use it to paint your desired GUI, it produces an XML
file describing what you painted (it also builds C source
code, but you don't need that).  Then you run your Python
program with PyGtk, loading the interface description from
the XML file.  Alternatively, you can use another tool to
make Python sources, http://glc.sourceforge.net/, but it
seems to me PyGtk's approach is better, anyway, see
http://theopenlab.uml.edu/pygtools/.

Or you can pick completely different toolkits and various
approaches to go with them.  http://vipyl.sourceforge.net/
for example, a very early-stage project, uses the Qt GUI
toolkit and an approach much closer to Visual Basic or
Delphi in terms of integration between GUI painting and
code development.

If you're able and willing to pay for your tools, as you
were for Windows, VB, etc, you have even more good choices
of course.  For example, SecretLabs' "PythonWorks Pro" is
a full-featured IDE including a GUI painter/layout editor
for Tkinter and its uiToolkit extension -- if you like Tk,
I'd call it the cat's pajamas... similarly, BlackAdder
has a GUI painter for Qt, as well as lots of other stuff,
and if you don't need redistribution licenses for its
commercial parts (Qt itself, wxODBC for database access)
the personal license is VERY cheap -- right now, in the
beta period, US$50 for the program itself plus $40
if you want to add a yearly subscription to updates &c --
when it's released, it will only go up to $80 for the
product plus $60 for the optional subscription.  The
Business edition costs more ($250 now, $400 when out of
beta; $200 now, $300 in the future for a subscription)
but you do get the ability to redistribute.  BlackAdder
runs on both Linux and Windows, by the way.  Consider
that with a purchase of BlackAdder you get a 20% off
coupon from O'Reilly, from whom it might be clever of
you to purchase books, and you'll see the actual price
goes down even lower:-).  And there are other good
choices of the commercial variety, too.



Alex






More information about the Python-list mailing list