Update (April 2009) – The Python Development Environments Learning Path covers all the following information and more.
[update - replaced link to older Wing screencast with newer 2-part Wing v3 Pro series]
Here I’ll talk about the IDE combinations I use and why…
Side note – are you learning Python? We’ve started Club ShowMeDo which is aimed at new and intermediate Python programmers, our specially-crafted screencast tutorials are aimed directly at getting you to learn Python the easy way.
- Getting a Feel for Python
- Python Development Environments (IDEs) parts 1 and 2 (this post)
- Python ‘under the hood’
- GUI Development
- Web development
- Writing solid code with Unit Tests
- Games and Physics
- Python Advocacy
I welcome comments on this post if you’d like to share your preferred work environments (and reasons). I’d also welcome feedback from the authors of the following tools if I’ve missed features that are particularly important.
Most of my work is scientific research (I’m an industrial A.I. researcher by trade) involving large datasets and mathematical tools, coupled with hand-crafted algorithms and visualisation. IPython is ideal for running these sort of programs.
I find that PyDev works the way I want it to (though it can get a bit slow at times) and with IPython for execution I have a robust development environment. It can be annoying to have to setup a ‘project’ each time (a requirement of Eclipse), but after that everything flows nicely. Videos here and here.
Fabio – what are the strongest features of PyDev that other readers might be interested in?
Wing (+ IPython) is my other frequently used combination. I tend to use Wing from home when I’m working on ShowMeDo. It is especially handy for ad-hoc editing – I don’t need to setup projects inside the IDE, I can just drag in files and get on with work. For the record – Kyran, my partner in ShowMeDo, favours Wing over PyDev.
Often I use Wing to edit remotely-hosted files (hosted at WebFaction) over a WinSCP link. Wing makes this really easy and it easily beats using Vi over an ssh connection. Navigation is easy and the auto-completion means I can quickly add or fix code on the fly. See Wing v3 Pro in action in these 2 screencasts.
Stephan (and team) – what are the strongest features and use-cases that might interest other readers?
I use Textpad + IPython on occasion, but just for the simplest editing cases. TextPad gets indentation right and has syntax high-lighting, but otherwise it is a pretty dumb editor. I use it by dint of experience and because I’m loathe to learn yet-another-set-of-commands.
I’d recommend that you don’t saddle yourself with a dumb editor, pick one that has some smarts – it’ll save you lots of time and frustration as you become more proficient with Python!
IDLE is bundled with Python. It is robust and does a good enough job but I find that its behaviour is a bit odd – navigation commands seemed to jump too far or do odd things which ended up putting me off.
Possibly I’m just using it the wrong way. Given that it comes with every Python installation it is worth getting some familiarity with it and there is a strong team of developers who actively use it.
The only videos we have for IDLE are in my pay-to-access Python Newbies series. My Introduction to IDLE video is 21 minutes long and gives a good introduction to using IDLE (sorry, no free videos on IDLE – but we’d love to have some!).
SPE was my favoured editor a couple of years back. Active work ceased on SPE for most of last year, but Stani is back on the case. Stani’s blog shows active work including an update to WinPDB allowing multi-threaded GUI debugging, I hope that community support for SPE will pick-up again. Older videos here.
Stani – what are the main features of SPE?
ActiveState – I’ve tried (and failed!) to contact your company in the past – we’d especially love to have videos about Komodo shown alongside our other IDE videos. Who would like the chance to advocate this powerful IDE?
Making ShowMeDo videos – it is really easy to make your own videos. If you’d like to help open-source then see our submissions page for details on how to make videos. We freely host and promote the videos to help spread the word. Learning by seeing is a great way to gain the confidence to try new stuff.
Are you learning Python? We’ve started Club ShowMeDo which is aimed at new and intermediate Python programmers, our specially-crafted Python training screencasts are aimed directly at getting you to learn Python the easy way.
ShowMeDo – Our 87+ Python videos a great way to learn new skills and see tools in action. Please – leave a word of thanks for our authors if you find their videos helpful.If you enjoyed this post, make sure you subscribe to my RSS feed!