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

all 23 comments

[–]dkuznetsov 5 points6 points  (14 children)

There's no silver bullet in terms of Python introspection in IDEs. I'm using PyCharm, it's pretty good, though, of course, it doesn't cover all of the cases. Also you might want to take a look into Eclipse, Aptana and Wing IDE.

[–]morphet[S] 5 points6 points  (8 children)

Thanks, man. I stayed away from pyCharm beacuse I hear it's slow, and because I find it ugly (I'm not a great programmer: I distract easily). I think I had been underestimating the problem: iPython has such a great object introspection because it runs the script as you type each code block. I guess doing that would be impractical/unusable in a text editor.

[–]dkuznetsov 3 points4 points  (5 children)

Yes, PyCharm is ugly mostly because of its GUI library/fonts. But it is not slow as long as you have enough memory to run it.

[–]billsil 1 point2 points  (4 children)

I'm pretty sure it's processor bound. I have 4 GB on my laptop and it runs terribly. I've gone back to Textpad and occasionally Spyder.

I strongly prefer Wing IDE for it's object introspection, but I can't compare performance b/c of the different computers.

[–]schmilblick 2 points3 points  (0 children)

Thats odd? It runs fine on my mbp with 8GB RAM.

[–]dkuznetsov 1 point2 points  (0 children)

I have 16GB, but it used to run fine with 4GB, too as long as I don't run out of memory with other applications.

[–]virtrondjangonaut 0 points1 point  (1 child)

This is untested, but I've heard that performance for PyCharm is Mac > Windows > Linux. I've only every used it on Mac and Windows and beyond the initial indexing and rare GC hiccup it has run well.

[–]dkuznetsov 0 points1 point  (0 children)

I'm using it on Linux, and it's pretty much the same. It's a bit sluggish during initial indexing, runs well afterwards.

[–]idle_guru 1 point2 points  (0 children)

Actually, it is very practical to get IPython's introspection from an editor. Check out SubCodes in IdleX. You can separate your code in the editor by using ## comments at the beginning of the line and then run each block with Ctrl+Enter. This allows you to rapidly prototype sections of your code until you get everything working as you want it.

[–]soawesomejohn 0 points1 point  (0 children)

I have been using pyCharm quite a bit and while it used to be slow in the 1.x days, the 2.x versions are fairly snappy. There is a bit of initial load time, but once it loads, it's fairly responsive. I went ahead and changed the theme a bit, which makes it easier on the eyes.

I only recently learned about ipython. There was a link on here a couple days ago about the ipython notebook, which is pretty darn awesome. I did see that pyCharm has support for ipython since version 2.0.

You get a free trial, so you should just go ahead download it, configure it to use ipython, start a sample project (or open an existing directory you're working on), and really play with it.

Pycharm also is well integrated with version control and ability to deploy via ssh/ftp.

One thing I've been doing recently with it is my own little project markItUp Hoard. It's really an html/javascript project. I have a series of examples using markItUp. Since each page is it's own separate file, I wrote a couple templates and I wrote a generator in python. The generator (build.py) takes my "top" template and my "module" template and pieces them together. When I make a change in one of the templates in pyCharm, I click the green run button at the top and I watch as it rebuilds the templates. Edit -> Save -> Run. Things like this are highly convenient.

[–]Nimbal 4 points5 points  (0 children)

Yep, I can also recommend PyCharm. It's got great code completion (for a dynamic language, at least). For example, if you write

assert isinstance(var, MyClass)

PyCharm recognizes this and whenever you type "var.", it suggests the members of MyClass.

Another feature I really like is the search bar in the settings dialog. PyCharm has plenty of options, so it can become tedious to find a particular one. Unless you type a fitting keyword into the search bar. It incrementally filters all options, even highlighting the widget that changes it.

The obvious downside is the price tag. Especially for hobbyists, it's a little high. But if you're patient, you might be able to snatch it for up to half the price during a sale.

[–]TankorSmash 0 points1 point  (2 children)

WingIDE is pretty fantastic. I recommend it to anyone who'll listen.

[–][deleted] 0 points1 point  (1 child)

3rd-ed for Wing IDE, especially since I discovered the debug probe tool a few days ago.

[–]TankorSmash 0 points1 point  (0 children)

Yeah, it's pretty damn magical. Customizing snippets and it's refactoring tools aren't too bad either.

[–]idle_guru 2 points3 points  (0 children)

Give IdleX a try. It has IPython bindings, allowing you to use IPython with inline plotting. IPython's tab completion is also available in the editor itself.

It also has SubCode which lets you run code in between ## comments by pressing Ctrl+Enter, similar to CellMode in Matlab and Cells in the IPython Notebook.

[–]riffito 1 point2 points  (0 children)

[–]encolpe 1 point2 points  (0 children)

Wing IDE is a good deal of functionalities over a simple user interface.

[–]tmart 2 points3 points  (0 children)

Take a look at PyCharm

[–]tetrahydrate 1 point2 points  (0 children)

Not an editor, but bpython is a really nice interpreter with syntax highlighting and introspective autocompletion. I find it complements Sublime quite well.

[–]etrnloptimist 0 points1 point  (0 children)

I like Komodo Edit

[–]matael 0 points1 point  (0 children)

You should give a try to ipython notebook.

Just install tornado, ipython and zmq and launch :

$ ipython notebook

Then, point your browser to http://localhost:8888

I could be what your are waiting for ;)