, , ,Nov 17 2011I’ve got a spanking new install of Kubuntu 11.10, and I need to get it set up for Python data hacking. Sure, I could spring for an , but where would be the masochism in that?
Inspired by , let’s do this the hard way.
The linux distro comes with Python 2.7.2. Perfect! Or, use to set up a local Python build that you want to use. I presume you know how to get to the command line, as well as how to edit text files using emacs, vim, pico, whatever.
Let’s get some tools:
sudo apt-get install git gfortran g++We need to compile against Python headers and get setuptools and pip:
sudo apt-get install python-dev python-pipLet’s isolate our Python distro from carnage:
sudo apt-get python-virtualenv sudo pip install virtualenvwrapperNow these lines to your ~/.bashrc:
source /usr /local /bin /virtualenvwrapper.sh export WORKON_HOME= $HOME /.virtualenvsNow open a new terminal and establish a virtual environment, say “py27″:
mkvirtualenv py27 workon py27We need some math libraries (ATLAS + LAPACK):
sudo apt-get install libatlas-base-dev liblapack-devOk, now to install and build all the scientific python hotness:
pip install numpy scipyFor matplotlib, we need lots of libraries. This one is dependency heavy. Note we can ask Ubuntu what we need, what’s installed, and what is not:
apt-cache depends python-matplotlib | awk '/Depends:/{print $2}' | xargs dpkg --get-selectionsEasiest thing to do is just build all the dependencies (just say yes if it asks to install deps of matplotlib instead of python-matplotlib):
sudo apt-get build-dep python-matplotlibOk, now this should work:
pip install matplotlibNow, of course, we need the IPython interpreter. Don’t settle for 0.11!
pip install -e git+https: //github.com /ipython /ipython.git #egg=ipython cd ~ /.virtualenvs /py27 /src /ipython python setupegg.py installNote, you may need to sudo rm /usr/bin/ipython.py if there is a conflict.
Ok, let’s beef up the IPython interpreter. Note the pip commands FAIL. This is ok. We’ll do it by hand.
sudo apt-get install qt4-dev-tools pip install sip cd ~ /.virtualenvs /py27 /build /sip python configure.py make sudo make install pip install pyqt cd ~ /.virtualenvs /py27 /build /pyqt python configure.py make sudo make install # clean up cd ~ /.virtualenvs /py27 / rm -rf buildJust a few more things, you won’t be disappointed.
sudo apt-get install libzmq-dev pip install tornado pygments pyzmqAlright, let’s get . It’s under heavy development ( is a beast); so lets pull the latest from git.
pip install nose cython pip install -e git+https: //github.com /wesm /pandas #egg=pandas # we should get statsmodels too pip install -e git+https: //github.com /statsmodels /statsmodels #egg=statsmodelsBtw, you’ll note this git stuff goes into your ~/.virtualenvs/py27/src directory, if you want to git pull and update.
OK! Phew! For the grand finale:
Run the amazing qtconsole:
ipython qtconsole --pylab=inlineOr the even more amazing WEB BROWSER:
ipython notebook --pylab=inlineLaunch a browser and point to http://localhost:8888/. For kicks, try opening one of Wes’s tutorial workbooks, . You may have to fiddle a bit, but it should work.
Enjoy!