I am starting out with Python and using VIM for now and love it!

Coming from a Java + Eclipse background, I feel the speed of development is a little slow compared to using Python + VIM, not only due to autocomplete, but debugging, quick movement etc.

So, I was wonder, what "tools" are used by Python programmers in organizations like Dropbox, where python is 99% in use.

I know, there are a bunch of IDEs for python, but are they really used, like in Rails, I know all of my friends use TextMate, even if there are IDEs available.

link|improve this question

12  
Obligatory Emacs comment. – dietbuddha Jun 5 '11 at 2:56
haha! I know. Missed out emacs. But I think, it will have the same problem as vim when dealing with it at a large scale and when new programmers keep coming in – zengr Jun 5 '11 at 3:16
Oh God... Eclipse... – Ed S. Jun 5 '11 at 5:37
@Ed S. Yeah eclipse has lowered the bar of using "geeky IDEs". But anything which increases productivity with least learning curve is good right? Humans build things, which they can learn and do stuff quickly! – zengr Jun 5 '11 at 5:40
What's up with a java tag? – fish Jun 5 '11 at 16:14
show 1 more comment
feedback

13 Answers

up vote 6 down vote accepted

I've only used two IDEs for Python: 1) PyCharm 2) Komodo

Overall, I like them both, but I really appreciate the code refactoring capabilities of PyCharm.

link|improve this answer
+1 For PyCharm! – Vitor Braga Jun 5 '11 at 17:09
1  
100% agreed. I initially tried Komodo and quickly bought a license for the commercial IDE. After watching a PyCon video, I gave PyCharm a try and absolutely fell in love with it. The refactoring is superb. If you use other frameworks than Django, however, you might want to wait until the next release. – Alan Jun 5 '11 at 17:11
feedback

Emacs. It's really great as editor and has enormous amount of extensions and modes which will help you develop; in the same time it's not going to dump all that on your head, not going fill your screen with useless toolbars and is not memory hog and slow as hell.

It's not the perfect editor, but it's the most close to that from editors which do exist right now.

For start you can look at this: http://gabrielelanaro.github.com/emacs-for-python/ (the IDE part comes from rope/ropemacs)

And, of course, excellent http://emacswiki.org/ often helps as well.

link|improve this answer
If Emacs were to be perfect, it could leave very less scope for people to extend it and add new features to it :) – vpit3833 Jun 6 '11 at 6:00
feedback

There are plugins for Vim that give you most of the functionality of an IDE - googling for python vim ide will give you lots of articles giving people's favourite combination of plugins.

You can also take a look at Eclim - a plugin that lets you run eclipse in the background and use some of its features from Vim.

link|improve this answer
Vim + Taglist + MiniBufExplorer is IDE enough for me :) – Chinmay Kanchi Jun 5 '11 at 18:54
feedback

Python Tools for Visual Studio is currently in Beta. It seems like a good fit for anyone who is used to that environment.

link|improve this answer
feedback

I have always liked WingIDE and PyScripter, but there are a large number of them available and everyone will tell you why the one they like is better.

link|improve this answer
feedback

At our office, Eclipse is the preferred IDE for Python because we've got some folks using PCs and some using Macs.

link|improve this answer
feedback

I use and love Wing IDE although I have tried very few others (probably only Eclipse and PyCharm).

Although everyone has there preference and every IDE has their pros and cons, I like that Wing is a python-only IDE. It also is great for Django projects (and the newest version 4.x has some new Django features).

link|improve this answer
1  
It's hard to imagine that any Python developer wouldn't get a huge productivity boost from using Wing. – Adam Crossland Jan 24 at 21:11
feedback

I don't use an IDE. I use vim as a simple text editor, and IPython for interacting, documentation, and debugging. I mostly use git grep -Ovi or fugitive for jumping into files.

link|improve this answer
feedback

I use Eclipse with the Aptana Studio 3 plugin (which includes PyDev) now, but I've also used UliPad for many years and I cannot recommend it too highly.

link|improve this answer
I just use straight PyDev, but it's pretty nice. – Xealot Jun 7 '11 at 1:22
feedback

I found myself asking this question a week or so ago, and came across this link on stackoverflow that also has a nice chart to say which IDEs can do certain things. Basically, I think it's best to look at the chart, decide on what features you want, and then pick the IDE with the most compatibility to that. It's fairly up to date, as far as I can tell (as of June 5, 2011).

link|improve this answer
feedback

Personally I use Komodo Pro for a couple reasons.

  1. One license lets me install it on any computer i need it on running Windows, OSX, or Linux.
  2. Project features that allow remote folders over ssh.
  3. VI Bindings
  4. The other usual nice to have stuff like highlighting, auto-complete, function information, debugging, testing ...
  5. Git integration.
  6. Code browser. (quickly jump to any function or class on any of the open files.

I am mostly doing turbogears projects and it supports python, javascript, and XML very nicely.

link|improve this answer
its expensive, being a student I believe pycharm has the same capabilities: jetbrains.com/pycharm and it's cheap. – zengr Jun 5 '11 at 3:20
Or alternatively use Komodo Edit (the free version). Try it out. I just got into Python dev and have seen people who know python that use Komodo. Apparently its built for Python specifically and it's light weight too so highly recommended here. – Ross Jun 5 '11 at 6:23
@zengr If you're a student, you usually don't need an IDE yet. Compared to what designers have to pay for their software, though, PyCharm (and even Komodo) is an absolute steal. Komodo Edit gives you most of the features the commercial IDE has but without the price tag, so you may just want to try that instead. – Alan Jun 5 '11 at 17:14
feedback

IDE means Integrated Development Environment, which means combination of editor, compiler, and tester.

I run Linux KDE, and I use it as my IDE. Why?

Number 1, because I am using exactly the same editor (Kate) regardless of whether I'm writing PHP, Java, English, or a Bash shell script. All editing commands are always the same.

Number 2, because to compile I can build my own compile script to add power to the compiler, like setting CLASSPATH for Java.

Number 3, because to execute I may run on Firefox or Chrome or Safari, from my notebook or from a remote server, always my choice.

I do not recommend any pre-packaged IDE. Package IDE's are optimized for one language, one environment, and my work is not that constrained.

link|improve this answer
3  
Kate is a text editor, not an IDE. It has some advanced features, like syntax highlighting and integration with FTP. However, the asker is looking for a true IDE - a single tool that can be used to manage development, testing, versioning, and deployment. Also, your statement about IDEs being optimized for a single language is false. Visual Studio supports C#, F#, C++, and more with plugins. I have written C, C++, Java, Scala, and PHP in both Eclipse and NetBeans. These tools clearly support multiple languages (and in the case of Eclipse and NetBeans, multiple OSes). – Thomas Owens Jun 5 '11 at 16:15
feedback

I would recommend Eric especially since you are familiar with Eclipse. Eric looks and feels a lot like Eclipse and is very customizable. Plus Eric was wrote in Python!

For me having the editor, a python shell, and a bash shell each in their own workspace was really handy for running short snippets of code or doing other actions within bash. There is a project/multi-project viewer much like the one in Eclipse. And there is support for plugins.

The ability completely arrange everything and customize the look of the editor to my own tastes was really nice. Because of this customization I didn't have to get used to the IDE, everything was placed where I expected it to be.

Also if you're interested in Ruby, Eric supports it too.

link|improve this answer
feedback

Your Answer

 
or
required, but never shown

Not the answer you're looking for? Browse other questions tagged or ask your own question.