Numpy, Scipy, and Pandas – Oh My! (Ubuntu 11.10) » Adam Klein's Blog
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 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:
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 pandas . It’s under heavy development ( Wes 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, here . You may have to fiddle a bit, but it should work.
Enjoy!
Numpy, Scipy, and Pandas – Oh My! (Ubuntu 11.10) » Adam Klein's Blog