I’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 Enthought Python Distrubution, but where would be the masochism in that?
Inspired by Zed, let’s do this the hard way.
The linux distro comes with Python 2.7.2. Perfect! Or, use Pythonbrew 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:
We need to compile against Python headers and get setuptools and pip:
Let’s isolate our Python distro from carnage:
sudo pip install virtualenvwrapper
Now these lines to your ~/.bashrc:
export WORKON_HOME=$HOME/.virtualenvs
Now open a new terminal and establish a virtual environment, say “py27″:
workon py27
We need some math libraries (ATLAS + LAPACK):
Ok, now to install and build all the scientific python hotness:
For 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:
Easiest thing to do is just build all the dependencies (just say yes if it asks to install deps of matplotlib instead of python-matplotlib):
Ok, now this should work:
Now, of course, we need the IPython interpreter. Don’t settle for 0.11!
cd ~/.virtualenvs/py27/src/ipython
python setupegg.py install
Note, 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.
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 build
Just a few more things, you won’t be disappointed.
pip install tornado pygments pyzmq
Alright, let’s get pandas. It’s under heavy development (Wes is a beast); so lets pull the latest from git.
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=statsmodels
Btw, 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:
Or the even more amazing WEB BROWSER:
Launch a browser and point to http://localhost:8888/. For kicks, try opening one of Wes’s tutorial workbooks, here. You may have to fiddle a bit, but it should work.
Enjoy!