Python Development Environments? 87
baxissimo asks: "I've played around with
Python a bit, and as a scripting language I quite like it. So I sat down the other day to see if I could use it to make a modest OpenGL/GUI application on Windows. The short story is I gave up. I couldn't get the
Python IDE I had to run--but that didn't stop me. At first I just shrugged my shoulders and said to myself 'Ah, who needs it? I've got emacs,' and then proceeded to waste a few hours trying to cobble together an app that would run before it dawned on me that Python without a decent IDE is definitely not easier to use than C++ with
an IDE. So is anyone out there actually using Python to make serious apps? What tools are you using?"
"I've heard the
wxPython bindings are nice for the GUI bits, so I downloaded those, and pyOpenGL, and
numPy, and
PIL,
etc. The only recommendation I really saw anywhere for an IDE was for boaConstructor, so I got that. Unfortunately it only spit out a useless error messages on startup and died. What I'd really like to start doing is creating C++/Python hybrids, but given that I was unable to successfully debug a pure Python app, I'm wondering what it's going to be like when my bugs might be in either language. How do people deal with this? What tools help you get the job done? If there's nothing free that works, are there any commercial IDE's worth the money?"
Options (Score:5, Informative)
Re:Options (Score:4, Informative)
wxGlade (Score:3, Informative)
I have to admit here that I'm not really an IDE person - I usually prefer vi and the command-line.
I've also had some experience at debugging python/c++ hybrids, but mostly on linux. On linux if you have a problem in the c++ bit you can use gdb/ddd (remember the executable is /usr/bin/python, and when you're in the python interpreter code, nothing will work unless you've compiled python with -g, but I've never found this necessary).
wxDesigner works well (Score:3, Informative)
http://xminc.com/linux/wxpython.html
faq.
wxDesigner:
one of the most complete but is closed source commercialware
Somewhat focused on C++ development
I don't like having to use their editor
outputs xml, python, c++, or perl code
Good, cheap, and stable - developed by one of the wxWindows developers.
http://www.roebling.de/
wxGlade:
nice - under development - copies the best features of glade. Easy to use and extend.
Not a full rad - more of a screen drawer.
outputs xml, c++ or python code
nice tutorial
Actively developed
PythonCard:
Nice if you want to make simple quick app.
I find this kind of tool can cause people to put the business logic in the gui though.
Speeds development by simplifying the event model.
Outputs python code
No option for xml output - but this may be coming soon
Actively Developed
XRC:
Simple xml widget editor
PyQT (Score:2, Informative)
However, if easy GUI building is what you are looking for, then i may suggest PyQT. This is the Python binding for the QT toolkit. You can use 'designer' to build your GUI (the XML file) and then the PyQT tools to create Python code.
Easy, fast, clean.
You can find documentation here [opendocs.org]
Then use the editor of your choice for the rest.
You could always try Kdevelop which has support for Python (and QT Python apps).
Visual Studio (Score:4, Informative)
A few options (Score:4, Informative)
Wing IDE [wingide.com]
Now, you mention you had trouble with boa. You're going to want to get it working unless you want to spend some money, because for $0.00 that's as good as it's going to get. Otherwise the two above are good investments. IIRC Komodo has a free version, but I'm not sure. PythonWorks [pythonware.com] had great potential but it's not being developed any more. It only supported Tkinter anyway.
That's as far as GUI designer support. If you're not having any luck you might want to try wxWorkshop [sourceforge.net]. I've heard some people have luck embedding their dialogs in C++ libraries and binding them to Python programs. YMMV.
If all you want is a good Python editor with debugger support there are a bunch of them out there:
http://drpython.sourceforge.net
http://pype.sourceforge.net/ (more mature)
Personally the best Python-specialized editor I've used is IDLE, though it has no GUI capabilities. IDLE ships with the full Python distribution for Linux and Windows, and it behaves essentially the same in both platforms.
You might also want to check this article [informit.com] out. And of course, the clearing house [wxpython.org].
Did you RTFM? (Score:2, Informative)
Did you install wxPython before BoaConstructor? I have installed BoaConstructor successfully. BoaConstructor has prerequisites that don't come in the install package. Look at the install docs agains and figure it out. Once you figure it out write an installer helper program for BoaConstructor in Python and open source it.
Re:Options (Score:2, Informative)