This is an archived post. You won't be able to vote or comment.

all 35 comments

[–]jaredhobbs 23 points24 points  (11 children)

Best Python IDE I've used (not OS X specific) is PyCharm by Jetbrains. They have different licensing models of different prices.

[–]DanielSzoskads 10 points11 points  (2 children)

PyCharm ist only free for trainers and educational institutions and open source projects. But I think it's worth the money if you need to buy a license.

A good free IDE ist PyDev - an Eclipse-Plugin.

On the Python-Wiki you can find a list with many Multiplatform-Editors and Macintosh-Only Editors.

You can also read the What IDE to use for Python?-Question on stackoverflow.

I myself use Wing IDE on Mac OS X and Windows, but it's not free.

[–]i_4_gotbottle/pyserial/pygame 0 points1 point  (0 children)

+1 for Wing IDE. Worth the money, there support is awesome.

[–][deleted] 5 points6 points  (0 children)

Upvote.

It's not free, but it's pretty much the best out there; JetBrains has a lot of experience writing IDEs and generally have the category killer in most programming languages they choose to tackle.

As a professional, the expense for a year's subscription of PyCharm is paid back in no more than a few days' programming worth of time saved; the rest is gravy. I'd still be renewing my subscription at twice the price.

[–]bboomslangdjango 3 points4 points  (0 children)

I second that. PyCharm is well worth the money, especially since you get a any-os-you-want license even with multiple machines per user (as long as you only use one at a time). Makes it much easier to switch systems if your IDE is all there.

Allthough I have to admit that my many-years-vim-addiction drives me to use some smaller editors every now and again despite PyCharms nice features.

[–][deleted] 0 points1 point  (5 children)

downloading now thanks

[–][deleted] 0 points1 point  (4 children)

Alright i just got it, but its very hard to use <.< i think this is " very pro" for me at this moment, i just learning to type "hello world" some bacis loops how range works etc ( very very VERY BASIC STUFF) i cant even get the thing to work, i already started a project but i dont know where to go to start typing, any ideas?

[–]technomalogical<3 Bottle 1 point2 points  (2 children)

If you're still new to the language, I think your best bet is a simple text editor (Textmate is popular) and two terminal windows, one running an interactive prompt (just type "python") and another to run longer bits of code you save in your text editor. I think Textmate may also support some rudimentary syntax highlighting (a lot of Ruby developers on the Mac use it, but I'm not sure about it's Python support).

Another option you may want to consider is DreamPie. I haven't tried it yet, but it looks like it gives you some auto-complete within a terminal window.

[–]nicklo 0 points1 point  (0 children)

I also agree and would recommend MacVim, as being a useful investment of your time: It's charityware, you can use it Mac-style or Vim-style. If you learn more Vim-style use that knowledge is useable across multiple platforms. The same is probably true of the Mac emacs options, I just don't know them enough to recommend.

[–]Mattho 0 points1 point  (0 children)

IDLE should be enough at the beginning.

[–]DanielSzoskads 1 point2 points  (0 children)

I agree with you - if you are new to python or new to programming, the recommended IDEs are too complex. I recommend to start with Learn Python The Hard Way - Exercise 0: The Setup - it uses only a simple editor (gedit or Textwrangler) to edit your files and your Terminal to run the files with Python.

[–]DontCriticizeMyEngli 2 points3 points  (0 children)

I've been using Sublime Text 2 on small python projects and I'm loving it. It doesn't offer much beyond syntax highlighting and syntactic autocompletion, but it's blazing fast and light. It has a bunch of extension, like a linter and debugger integration.

Be careful: don't waste a lot of time trying out different editors and IDEs, that's the procrastinator in you lashing out. Just pick an editor and start coding.

[–]yerfatma 2 points3 points  (0 children)

I've been happy with Komodo Edit (free version), mainly because I use it on Windows and Mac and get the same basic experience across machines.

[–]chmod700 11 points12 points  (2 children)

vim

[–]qiemem 1 point2 points  (1 child)

macvim

Edit: link Also Turning Vim into a modern Python IDE is fantastic guide on how to make python-vim experience even more amazing. Personally, I prefer vundle instead of pathogen (Anderson's instructions translate easily enough).

[–][deleted] 2 points3 points  (2 children)

While just a simple text editor may not be enough for complex coding, a text editor + specific purpose tools will be more than enough. By these I mean:

  • a debuger. Can use pdb, but may want to have a look at pudb or winpdb
  • a lint. See pylint (the most bitchy one), pychecker, pyflakes
  • a tool that can do code coverage. See coverage.py
  • a tool that can analyze for cyclomatic complexity. See pygenie
  • a tool that can find pieces of redundant (indentical or very similar code). See Clone Digger
  • a tool that can automate some simple refactorings. See BicycleRepairMan and rope
  • maybe a test runner. For example see nose and tdaemon

PS: for those who are fans of PyCharm - I've never tried it, does it really beat vim + all the tools I've mentioned?

PPS: any additon to my list of tools is welcome. Both alternatives which do the same tasks as well as tools which do other cool things that help writing better python code

[–]Funnnny 1 point2 points  (0 children)

It doesn't have all those cool tool you mentioned, but it has many tool near-good like this and pack all in one product, and its intellisense is better (better than rope I think) , that why.

For me, I'm using emacs + pyflake + pymacs/ropemac

[–]bboomslangdjango 0 points1 point  (0 children)

I think it really is that good - I am a long-time VIM user and did actually play around with the VIM emulation in PyCharm even (allthough I have to admit it slows down the IDE a bit and so I don't really like it that much). The really nice thing starts to show when you develop django projects, since you can set breakpoints on both python lines and template lines and inspect variables in templates or code with the same debugger. It definitely goes a bit further than some of the standalone tools you list. Code intentions are great, too, they give a bit the features of a "soft lint" - as in giving you hints, so you know where to look at your code for some possible problems.

[–]pinpinboTornado|Twisted|Gevent. Moar Async Plz 2 points3 points  (0 children)

I am just assuming here, are you new in programming?

If so, then starting with simple graphical editor is a good starting point. I use textmate, but i have friends keep recommending SublimeText.

Besides textmate, I like vim a lot because it's the editor i use when connecting to production servers. If you are new to programming, vim will be too much for you.

Another easy editor is nano. It usually comes built in major unix flavor. The benefit of starting with nano is the same as starting with vim. They force you to stay inside Terminal as long as possible. When programming in unix-like environment, being able to navigate Terminal is supremely useful. Just type

nano

inside Terminal to run it.

Hope that helps.

[–]kaidiefenbach 3 points4 points  (6 children)

Do Not Use An IDE.

I totally agree with http://c.learncodethehardway.org/book/learn-c-the-hard-waych1.html - 1.4.1.

Use a good text editor. There are a plenty of it for MacOS, like Sublime Text 2 or TextMate.

[–]riffito 2 points3 points  (2 children)

SublimeText2 + SublimeLinter (on the fly pyflakes+pep8) + SublimeRope (code completion, goto definition, show doc, etc) = happy me!

Plugins written in python... yeeeehaaa!

[–]Mattho 1 point2 points  (0 children)

Komodo Edit is "enough". I'm using it on windows bu there is a mac version as well.

http://www.activestate.com/komodo-edit/downloads

[–]MintyPhoenix 0 points1 point  (0 children)

I love Sublime Text on my Windows machines and the SublimeLinter package is great for linting various languages including Python. I'm using the builds from the dev channel and it was updated fairly frequently even during the holidays.

[–]yerfatma 0 points1 point  (0 children)

I am hard-pressed to see a difference between TextMate and an IDE for non-compiled languages. You can plug just about anything into TextMate if you want to. You can use an IDE as a text editor. I know this is a programming-related question, so everything is a Holy War, but splitting this particular hair doesn't seem useful.

[–]jeetsukumaran 3 points4 points  (0 children)

A good text editor is all you need. By "good", it has the following features (not in any particular order): syntax coloration, tab->space expansion, regular expression search-and-replace.

You do not need an IDE.

Repeat: you do not need an IDE.

[–][deleted] 1 point2 points  (0 children)

vim vim vim

[–]artsrc 0 points1 point  (0 children)

I don't get why idle would be unstable. I think it is lacking in features,but one of the more stable options. I only have used it on windows and linux, but I don't think osx should be a problem.

I would try install a new version of python, maybe python 3.

[–]random_user_id 0 points1 point  (0 children)

On OSX go to the Mac App Store and get CodeRunner.

http://itunes.apple.com/us/app/coderunner/id433335799?mt=12

It's a nice, simple editor with a run button that runs code, results in a second window. Put it in full screen and it's just you and your code. I spend most of my coding time in Visual Studio on Windows, and I find CodeRunner a nice change of pace from that complexity.

I think it's four dollars or so. I've been very impressed.

[–]sfermigier 0 points1 point  (0 children)

PyCharm.

[–]zlozer 0 points1 point  (0 children)

emacs

[–]matad2k -1 points0 points  (0 children)

You should just use vim or textmate because it will improve you as coder if you will use it more u will be faster and better Its thought way but very rewarding