At the moment the newest versions of ipython aren't in the Debian/Ubuntu repositories (at least for the versions of Ubuntu I care about). What follows is a makefile that documents the steps that I've gone through to get the newest version installed on a close to clean installation of Oneiric (11.10).
It's worth noting that this process is still somewhat manual because the versions of some of the dependent packages are changing so quickly, and it is likely that some manual intervention will be required.
ZEROMQ=zeromq-2.1.11 SIP=sip-4.13.2 PYQT4=PyQt-x11-gpl-4.9.1 TORNADO=tornado-2.2 install: sudo apt-get install python-scipy \ python-matplotlib \ mayavi2 \ git-core \ build-essential \ python-setuptools \ python-dev sudo easy_install nose \ pexpect \ pygments zeromq: sudo apt-get install uuid-dev \ libtool \ autoconf wget -c http://download.zeromq.org/${ZEROMQ}.tar.gz tar zxvf ${ZEROMQ}.tar.gz cd ${ZEROMQ} && ./configure cd ${ZEROMQ} && make cd ${ZEROMQ} && sudo make install sudo ldconfig sudo easy_install pyzmq sip: wget -c http://www.riverbankcomputing.co.uk/static/Downloads/sip4/${SIP}.tar tar zxvf ${SIP}.tar.gz cd ${SIP} && python configure.py cd ${SIP} && make cd ${SIP} && sudo make install qt4: sudo apt-get install libqt4-dev wget -c http://www.riverbankcomputing.co.uk/static/Downloads/PyQt4/${PYQT4}. tar zxvf ${PYQT4}.tar.gz cd ${PYQT4} && python configure.py cd ${PYQT4} && make cd ${PYQT4} && sudo make install tornado: wget -c https://github.com/downloads/facebook/tornado/${TORNADO}.tar.gz tar zxvf ${TORNADO}.tar.gz cd ${TORNADO} && sudo python setup.py install ipython: git clone https://github.com/ipython/ipython.git cd ipython && sudo python setup.py install