What's a good IDE for Python on Mac OS X?

PythonMacosIde

Python Problem Overview


I'm about to start a new job where the coding practices are heavily centered around TDD and refactoring, and whose primary development language is Python. I come from the Java world, and have been a confident user of Eclipse for a good, long time. When not working in Java, I use emacs.

I'm looking for an IDE for Python that will give me a lot of the capabilities I've grown used to with Eclipse, not only for refactoring but in terms of code completion, project management, SCM integration (currently CVS, but likely to switch to git one of these days) et al.

What IDE should I use?

Python Solutions


Solution 1 - Python

My 2 pennies, check out PyCharm http://www.jetbrains.com/pycharm/

(also multi-platform)

Solution 2 - Python

Have tried many different (Kate, Eclipse, Scite, Vim, Komodo): each one have some glitches, either limited functions, or slow and unresponsive. Final choice after many years: Emacs + ropemacs + flymake. Rope project file open dialog is extremely quick. Rope refactoring and code assist functions are super helpful. Flymake shows syntax mistakes. Emacs is the most configurable editor. I am very happy with this config. Python related part of config is here: public.halogen-dg.com browser/alex-emacs-settings/configs/cfg_python.el

Solution 3 - Python

I use TextMate for all my Python programming needs. It's not an IDE per se, but it does a lot of stuff that an IDE does (without all the cruft of an IDE). It has syntax highlighting, code folding, integration with various SCMs through the use of additional bundles (I know it supports SVN, Git, Mercurial, Darcs, and probably a few others). It's also quite extensible and customizable (again, through the use of bundles). It also has a basic concept of projects. One place where it doesn't shine, though, is in code completion; some bundles have limited support for code completion, but it's generally not as amazing as that of most language-specific IDEs. Given how awesome TextMate is, though, I don't know sacrificing that. TextMate's definitely made me much more productive.

Solution 4 - Python

Pydev for Eclipse, as others have mentioned, is good.

Netbeans has a beta Python plugin that is a little rough around the edges, but could turn into something really cool.

Additionally there is a long list of programming centric text editors for the mac, that may or may not fit your needs.

  • Textmate - costs money, people love this program, but I haven't used it enough to see what all the fuss is about.
  • Jedit - Java based text editor, has some nice features, but the startup time isn't great (due to Java).
  • CarbonEmacs - Decent Emacs port.
  • AquaEmacs - Better Emacs port.
  • TextWrangler - Lite, free (as in beer) verision of BBEdit.
  • BBEdit - The old guard. The defacto editor before Textmate stole its limelight. Expensive.
  • Smultron - Very nice editor, the UI is similar to Textmate.
  • Idle - Python's own little editor, has some nice features, but also some major problems. I've personally found it too unstable for my usage.
  • Sublime Text - This is really sweet text editor that has some surprisingly good Python support.
  • Pycharm - Another solid full on IDE for Python.

Solution 5 - Python

Eclipse with Pydev works best for me on any platform.

Solution 6 - Python

I really enjoy using PyCharm. http://www.jetbrains.com/pycharm/

Solution 7 - Python

I usually use either komodo edit or aquamacs with ropemacs. Although I should warn you, IDE features won't be what you're used to if you're coming from a Java or C# background. I personally find that powerful IDEs get in my way more than they help.

UPDATE: I should also point out that if you have the money Komodo IDE is worth it. It's the paid version of Komodo Edit.

Solution 8 - Python

macvim + pyflakes.vim

Solution 9 - Python

I like Spyder, it has many tools, such as profiling, intelligent indentation helper and a good autocompletion support

https://code.google.com/p/spyderlib/

Solution 10 - Python

If you have a budget for your IDE, you should give Wingware Professional a try, see wingware.com .

Solution 11 - Python

I've used WingIDE and have been very happy. Intellisense is pretty good, some other things are a bit wacky but overall it's a very productive tool

Solution 12 - Python

If you are looking for an interactive environment and not needing to code modules, I would suggest IPython. Though this is developed with scientists/statisticians in mind, it will run just as well without any of the scientific packages installed. The features are powerful, with code completion, integrated help, integrated debugging, etc., and it functions as a notebook with Markdown and MathJax integration. By far the best choice for those that need powerful features without wishing to load megabytes of GUI into RAM--since it is browser based, it is used in your always loaded chrome/safari instance. ;-)

Solution 13 - Python

Eclipse PyDev plugin.

http://pydev.sourceforge.net/

Solution 14 - Python

since you are familiar with Eclipse maybe you are interested in Pydev

Solution 15 - Python

Python support on netbeans is surprisingly good, and comes with most of the features you're looking for.

Solution 16 - Python

TextMate or Panic's Coda. NetBeans works very well, if you want a full-blown kitchen sink IDE.

Solution 17 - Python

"Which editor/IDE for ...?" is a longstanding way to start a "My dog is too prettier than yours!" slapfest. Nowadays most editors from vim upwards can be used, there are multiple good alternatives, and even IDEs that started as C or Java tools work pretty well with Python and other dynamic languages.

That said, having tried a bunch of IDEs (Eclipse, NetBeans, XCode, Komodo, PyCharm, ...), I am a fan of ActiveState's Komodo IDE. I use it on Mac OS X primarily, though I've used it for years on Windows as well. The one license follows you to any platform.

Komodo is well-integrated with popular ActiveState builds of the languages themselves (esp. for Windows), works well with the fabulous (and Pythonic) Mercurial change management system (among others), and has good-to-excellent abilities for core tasks like code editing, syntax coloring, code completion, real-time syntax checking, and visual debugging. It is a little weak when it comes to pre-integrated refactoring and code-check tools (e.g. rope, pylint), but it is extensible and has a good facility for integrating external and custom tools.

Some of the things I like about Komodo go beyond the write-run-debug loop. ActiveState has long supported the development community (e.g. with free language builds, package repositories, a recipes site, ...), since before dynamic languages were the trend. The base Komodo Edit editor is free and open source, an extension of Mozilla's Firefox technologies. And Komodo is multi-lingual. I never end up doing just Python, just Perl, or just whatever. Komodo works with the core language (Python, Perl, Ruby, PHP, JavaScript) alongside supporting languages (XML, XSLT, SQL, X/HTML, CSS), non-dynamic languages (Java, C, etc.), and helpers (Makefiles, INI and config files, shell scripts, custom little languages, etc.) Others can do that too, but Komodo puts them all in once place, ready to go. It's a Swiss Army Knife for dynamic languages. (This is contra PyCharm, e.g., which is great itself, but I'd need like a half-dozen of JetBrains' individual IDEs to cover all the things I do).

Komodo IDE is by no means perfect, and editors/IDEs are the ultimate YMMV choice. But I am regularly delighted to use it, and every year I re-up my support subscription quite happily. Indeed, I just remembered! That's coming up this month. Credit card: Out. I have no commercial connection to ActiveState--just a happy customer.

Solution 18 - Python

I've searched on Google for an app like this for a while, and I've found only options with heavy and ugly interfaces.

Then I opened Mac App Store and found CodeRunner. Very nice and clean interface. Support many languages like Python, Lua, Perl, Ruby, Javascript, etc. The price is U$10, but it's worth it!

Solution 19 - Python

You might want to look into Eclim, an Eclipse server that allows you to use Eclipse functionality from within your favorite text editor. For python-related functionality, it uses Rope, PyFlakes, and PyLint under the hood.

Solution 20 - Python

I've been using an Evaluation copy of http://www.sublimetext.com/">`Sublime Text`. What's good is it doesn't really expire.

It's been good so far and was really easy to get started with.

Solution 21 - Python

I may be a little late for this, but I would recommend Aptana Studio 3.x . Its a based on eclipse and has everything ready-to-go for python. It has very good support for DJango, HTML5 and JQuery. For me its a perfect web-development tool. I do HTML5 and Android development too, this way I do not need to keep switching different IDE's. It my all-in-one solution.

Note: you need a good amount of RAM for this to be snazzy !! 4+ GB is awesome !!

Solution 22 - Python

Visual Studio Code + Official Python Plugin

Here you see an overview of its current Python features:

https://code.visualstudio.com/docs/languages/python

Chocolat

http://chocolatapp.com

It's lightweight and offers Code Completion. Costs money.

EDIT: Apparently Chocolat was an interesting option in 2013 but since then many others came up and development stalled. Nowadays I recommend Visual Studio Code + Python Plugin.

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionChris RView Question on Stackoverflow
Solution 1 - PythonTimView Answer on Stackoverflow
Solution 2 - Pythonuser111443View Answer on Stackoverflow
Solution 3 - PythonmipadiView Answer on Stackoverflow
Solution 4 - PythonJames McMahonView Answer on Stackoverflow
Solution 5 - PythonismailView Answer on Stackoverflow
Solution 6 - PythonjdsantiagojrView Answer on Stackoverflow
Solution 7 - PythonJason BakerView Answer on Stackoverflow
Solution 8 - PythonlostlogicView Answer on Stackoverflow
Solution 9 - PythonlinelloView Answer on Stackoverflow
Solution 10 - PythonAlex MartelliView Answer on Stackoverflow
Solution 11 - PythonjeanView Answer on Stackoverflow
Solution 12 - PythonDallasView Answer on Stackoverflow
Solution 13 - PythonjbaskoView Answer on Stackoverflow
Solution 14 - PythonKonstantinosView Answer on Stackoverflow
Solution 15 - PythonUp.View Answer on Stackoverflow
Solution 16 - PythonJeff OberView Answer on Stackoverflow
Solution 17 - PythonJonathan EuniceView Answer on Stackoverflow
Solution 18 - PythonJan K. S.View Answer on Stackoverflow
Solution 19 - PythonmindthiefView Answer on Stackoverflow
Solution 20 - PythonSagar HatekarView Answer on Stackoverflow
Solution 21 - PythonNavView Answer on Stackoverflow
Solution 22 - PythonBijanView Answer on Stackoverflow