Hacker News new | past | comments | ask | show | jobs | submit login

Is this preferable over ipython/pylab notebooks for math/scientific python programming?



For exploratory interactive programming and shorter scripts, not really. For building larger more complicated systems, very much so.

Personally I use both, continuously switching between the two. I play around in ipython/pylab until I've gotten all the algorithms and details worked out, and then use Pycharm to add that code to the larger library or application which those algorithms will be a part of.


I feel like IPython is better for sharing your final analysis but I do all of my coding/development in Emacs + python-mode and haven't been able to figure out all the hype around IPython. And once you start with Pylab it becomes difficult to map your functions back to their original namespaces (especially since many are redundant between numpy and scipy) in a bigger project, so I stopped using it altogether. Could you explain a bit if I'm missing the point?


What entrypoint are you using to run your programs? REPL function calls / test runners / main methods from the CLI / local web server w/browser? I think understanding that matters the most.

If you do a lot of development in the REPL (i.e. exploration), then that is where iPython (in a notebook, or a shell) really is nice. If you don't, then you may not see the benefit.


Thanks for the response.

I primarily program with python for shell scripting/text processing, or data analysis/simulation with numpy/scipy/pandas.

I do a lot of exploration, I rarely ever type anything directly in the REPL/interpreter - I write all my code in scripts and send them to the REPL with emacs keystrokes. Afterwards, I'm left with a script that contains my analysis/processing method. (never had a local web server running except when playing with emacs ipython notebook).

Am I possibly missing a way to do it better?


Am I possibly missing a way to do it better?

I find ipython with its magic commands and ability to directly call shell commands more handy than the standard REPL for interactive shell type scripting.

Other than that, not really. Inline graphs are nice if you like that sort of thing, and some of the magic commands are occasionally useful. But beyond that I don't think you'll gain much if you have a approach that works for you.

I also gather that ipython's parallel processing tools are pretty powerful, but I've never really played with them.


Are direct shell commands that useful...? I either have a shell running in emacs or in a separate terminal that I can quickly switch to. I've heard about the parallel processing tools, but sounds like I'm doing alright with emacs. Thanks much.


Anybody using IEP[1]? I found this gem a few weeks ago, and never looked back. IEP is my de-facto idle/ipython replacement.

[1]http://www.iep-project.org/




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: