The better feature, for me anyway, is the notebook interface (it starts a local web server and gives you a rich web guy, somewhat like a Mathematica idea of interactive notebook editing with inline charting etc.)
But, that's a whole other bunch of dependencies that aren't in scope when installing ipython.
Not sure of the best fix, offer ipython and ipython-full-stack on PyPI?
If you want qt, I would say your best bet is one of the full python distribution for scientific python, e.g. winPython, python(x, y), EPD, Anaconda. Everybody working on one of this is a user of ipython, and care about the notebook, and most of them have a free version available (free as no cost, not necessarily open source)
(disclaimer, I work for Enthought, which sells EPD)
I've had a Mac at home since 2007 and had a go at doing some python programming on it a few years ago and gave up. I got 2.7 installed, virtualenv, even Qt but eventually a few things broke and I ended up switching to programming in a Linux VM.
I might have another go now I've got a shiny new Mini with ML on it. If i have problems I'll give Enthought a try.
Given the popularity of OSX with developers it's shocking how few Python libraries have good OSX binary packages. A few times I've found the easiest platform to work on is actually Windows. For example with PySide for a long time the binaries in all the Linux repos were out of date, OSX support was intermittently flaky, but the Windows installer was complete and up to date.
Yes I know you can compile from source, but I am a Python programmer. I develop software in Python, not C. I wonder if the poor state of binary packages for OSX is actually because it's a Unix variant. i.e. module developers deliberately choose not to do binary OSX builds because hey, the users can just compile from source. No, we can't all compile from source. We're not all C hackers, that's why many of us use Python in the first place. </entitled rant>
Anaconda Community Edition installs very easily on windows, linux, and OS X, and is very easy to uninstall without breaking your system.
> No, we can't all compile from source. We're not all C hackers, that's why many of us use Python in the first place.
EXACTLY!
This is the whole idea behind Anaconda and the idea behind our beta cloud product Wakari. Wakari gives you multiple python versions, multiple numpy versions, interactive plotting in your browser, and the wonderful ipython notebook built-in. It's still in a closed beta, but people usually get approved for access the same day.
That's why for apps like this (not for projects that I create with virtualenv) I much more prefer using OS package manager. Could it be any nicer than on Gentoo? ;]
>> I'm surprised to be honest but maybe I'm missing something.
Give it a proper whirl, you'll never go back.
Proper python REPL history across sessions (not hacking up a substitute using a $PYTHONSTARTUP file to load readline history and register an at exit handler to dump history). History becomes as useful as a large shell history (i'm sure i did something similar last year, what was it?...)
In line charting, makes visualising any random thing (runtime of function, memory usage etc.) so easy you'll start doing it all the time.
The webserver notebook can stream line collaboration with co-workers. I like the ability to make "interactive documentation", although truth be told i haven't used this as much as i could yet.
My first shell was csh. I put off switching to tcsh, but eventually did. After a while I grew used to the new features of tcsh, with tab completion being the most obvious. I then went back to csh on some machine and realized just how dependent on was on tab completion. It became frustrating to type all of the filename again, rather than just the first few characters<tab> follows perhaps by some another character+<tab> for disambiguation.
I don't want to go back to a shell without tab completion. Is tab completion extremely useful? Functionally, no. I can live without it. But I will avoid that if at all possible, and that's not something I felt before I used tab-completion.
I get the sense that IPython is the same way. It's not essential, but after many have used it they have the sense that they don't ever want to be without again.
REPL history? Tab completion? Syntax highlighting? Unix shell integration? And that's just the tip of the iceberg useful for general Python programming, nevermind the exploratory scientific environment with numpy/scipy/matplotlib/pandas.
I can imagine living without it in the same way I can imagine writing code in Notepad. Technically feasible but unacceptably painful.
I like the qtconsole feature but i find it less than perfect to install:
1. pip install ipython 2. <system package manager> install qt4 3. pip install pyside / qt4 bindings
The better feature, for me anyway, is the notebook interface (it starts a local web server and gives you a rich web guy, somewhat like a Mathematica idea of interactive notebook editing with inline charting etc.)
But, that's a whole other bunch of dependencies that aren't in scope when installing ipython.
Not sure of the best fix, offer ipython and ipython-full-stack on PyPI?