IDE?

Hi Folks,
I've messed around with PyGame in the past and thought I would dive into PyWeek. Anyone recommend a windows IDE for PyGame Development?

Davy

(log in to comment)

Comments

Hi Davy.

Although not a proper IDE i use and love the free Komodo Edit for Windows. It has all the functions you expect of a code-editor (syntax highlighting and so on) and also let's you run and store commands (such as a command to run the currently open file with python).
Pyscripter - http://mmm-experts.com/Products.aspx?ProductId=4 is a nice Windows-only IDE.

I just use IDLE though.
Sorry, latest version here: http://code.google.com/p/pyscripter/
Not a real IDE - but related.

DreamPie is a really nice replacement for the built-in Python Interpreter:

http://dreampie.sourceforge.net/

I don't use any IDE on neither windows nor ubuntu. Instead I use light-weight CrimsonEditor in windows, and gedit in ubuntu.
A simple recommendation: I know geek-famous Python people who like Wing.

Allow me to take this opportunity re-tell the great IDE anecdote from the offices of my current employer.

All of our developers choose their own IDE. Amusingly, we soon ended up with literally about nine different IDE's in use on a single project. We used Visual Studio for Windows GUI design, but for coding we used Wing, Komodo, Eclipse, Emacs, Vi, Textpad, etc. You name it. Surprisingly, this caused no problems, and everyone was happy.

We pair-program on 100% of our production code. As always with pairing, it's a good idea to make the least experienced person do the typing. That way they really have to understand what's going on, they can't just nod and glaze over. So everyone quickly learns everything about the whole project and all the technologies it uses. This applies to IDEs too. We all quickly got to learn lots about each other's IDEs - how could you not do, typing at each other's for 8 hours a day, with a bona-fide expert user of that IDE sitting right in your lap to ask questions and show you how it works.

Every few weeks, someone would realise that as they learned more about various different IDE's, they had grown to appreciate one of them more than their own chosen one, and they would switch.

After a while, an interesting thing happened. Slowly, one at a time, over a period of a couple of months, all but two of our developers chose to migrate to either Emacs or Vi. Nobody pushed this. Nobody announced it, or tried to persuade anyone to switch. It just happened. Each individual chose for themselves. They each decided that, on reflection, these text editors were just the best of all the different IDE's they had seen. I regard this as an example of pair programming spreading knowledge.

A lot of people don't believe or understand this. It's worth remembering that both Vi and Emacs do a much better job at all the IDE-like features than most people know. They do syntax highlighting, or 'go to definition', or code completion, or browsing documentation straight from the code. You just have to know how to turn it on or configure it. This is a pain to figure out - but as the anecdote above shows, once you get over that barrier, they are extremely good at it.

There are other important benefits. These editors will work no matter what language you are programming in. If you are used to working on Windows, and one day you buy a Mac, or switch to Linux, then they will work there too. Never again will you have to ask "I'm starting new programming language X, which IDE should I use?" This is a choice that will last the rest of your lifetime, no joke.

Clearly they are not everyone's cup of tea, but I'd urge you to at least consider the option.
I have much the same story as tartley just described. I gave up searching for IDEs in favour of VIM some time ago. The advantages of extreme configurability, language independence and platform independence in vim/emacs are excellent points. To them I'd like to add two more. Firstly they are GUI independent, I'm not stumped by needing to set up X forwarding to launch my editor on a remote machine. Secondly at least 99% of what you do in your IDE is read and edit code, so surely the text editing features are the most important, right? The choice of a good IDE really comes down to choosing a good text editor...
While I'm sure that if I had a guru over my shoulder for weeks teaching me to use Emacs or Vim I'd probably learn to love it, the learning curve and initial time investment required is enough that I've never really wanted to try. Plus I'd be terrified that if I ever stopped using it for a month or two, when I came back I'd have to relearn everything.

So I guess I've never used an IDE, and I really like gedit, because it does exactly what I want and nothing more. It has all of ten options, and I've never felt the need for an eleventh.

Oooh, eleventh. That's a theme.
I've been struggling for a long time trying to find an IDE python that I really liked.  I found a lot that had different features that I wanted, but nothing all in one package. 

In last year, I've been feeling more and more that Vim is the answer, but as tartley mentioned, the entry bar for getting Vim set up w/ all of the stuff I want is a little high (syntax highlighting is easy, good auto-completion and re-factoring support is trickier). 

Good news though - I recently discovered a somewhat magical combination that significantly lowers the setup bar: Eclim (Eclipse + Vim).  Actually Eclipse + the pydev plugin is very good on its own, so if you don't feel you need Vim keybindings and modes then just get that.  If you want Eclipses IDE goodies + Vim key bindings though, Eclim seems to be the ticket.  Or at least that's what I'll be using this pyweek.
I've been using vim more recently, and like the text editing with it, but I found it has a major problem with respect to Python -- it doesn't have a nice way of running the Python script and seeing the stdout within vim, because vim doesn't support asynchronous output. There are a couple of solutions for that which require extra work that I'm planning to tackle at some point, but for now I'm sticking with my favorite combo -- Leo + SciTE. 
I'm an old-school vi (now vim) user for about 18 years now and every now and then I think that these new-fangled IDEs might have something to offer. Usually within moments of starting them up I'm literally overwhelmed by the overbearing, cluttered GUI. Also I hate having to take my fingers off the keyboard to move the mouse around when I'm In The Zone.

Anyhoo, I should try out one of those completion plugins for vim. Any recommendations? Any other IDE-like plugins that you can recommend?
 
Wow - thanks for all the input :-)

Right fast choice made - I have gone for Komodo Edit which I have used before. It has sufficient features and is easy enough to pick up again.

Good luck all!

Davy
I use vim on linux and this particular scite bundle on win32 http://gisdeveloper.tripod.com/scite.html

Your OS is mostly capable of being an IDE.
I had used vi, vim , but I converted to scite for daily use. If I had vim setup with all those features, I might be using it.

Scite , or an editor that uses scintilla (scite's text widget), or equivalent. Scite alone doesn't have class browser, etc... but works for smaller projects.

Geany is more of an IDE, class browser. Plugins.

http://www.geany.org/   
http://www.scintilla.org/SciTE.html

Ah, more GTK+ based apps that are awful to use on OS X I'm afraid :-)
@ninmonkey  Geany is a cool tools. Thank you.
georgek: I have a script set up in my work vim config which runs the current buffer (actually, runs its unit tests) asynchronously, and then slurps up the output into the same buffer that vim uses for parsing compiler output. Upshot is, you can keep on editing while the process runs asynchronously, in a different window. Then when it's done you can click on lines in tracebacks to see that file/line number open up in vim. It's a bit enmeshed in the rest of our work vim scripts - I'll see if I can't extract it to be a stand-alone vim plugin you could drop into your .vim directory.

richard: I'm pretty sure the only vim autocomplete I use is the built-in one, which I think is called omnicomplete. Hit Ctrl-n or Ctrl-p for the next/prev match at any time. It looks like this: http://tartley.com/wp-content/uploads/2010/01/deja-vu-sans-mono-9.png

If you fancy something a little smarter, a friend of mine did some work on pysmell, a multi-editor plugin to do intelligent autocomplete for Python by type inferencing, eg. if you call .flush() on a variable, then it must be an instance of either Buffer or Toilet, so autocomplete on that variable gives you all the  methods and attributes from those classes. Pretty cool.




Just in case it's useful to anyone. I'm posting my .vimrc file here:
http://pastebin.com/6hvuJVF5

The above config works on both Linux and Windows (on which I have a _vimrc which just reads 'source ~/.vimrc', and I also have Cygwin binaries on the path). I also have a .gvimrc (which contains extra config used by graphical gvim, but not console vim) which just reads:

set guifont=DejaVu\ Sans\ Mono\ 10
set guioptions=cegi
set lines=62
set visualbell t_vb=
colorscheme blackdev
Oh, and, the vim plugin 'pyflakes' is AWESOME.
I'm like Cosmologicon and only use the "move cursor", "type" and "load/save" features of any editor, but just to make sure it's mentioned in this thread I use Textmate (http://macromates.com/) on the Mac. It's a very nifty editor with an abundance of great features (that I don't use of course) that's worth checking out for Mac users.

By the way while I can imagine some benefit from using an IDE in a language like Java (where you write BufferedReader bufferedReader = new BufferedReader() all day), I don't see how it could make much difference in Python where you only have to type stuff that actually does something.