cd /tmp #(We have write access here) curl -O http://www.python.org/ftp/python/2.7.5/Python-2.7.5.tar.bz2 #Or whatever the version you want tar -xzf Python-2.7.5.tar.bz2 cd Python-2.7.5 ./configure --prefix=$HOME/local/Python #Or where ever you want it make make installMake sure this directory is in your path such that you can call python.
#Add this path to .bash_profile PATH=$HOME/local/Python/bin:$PATHPython has a very neat, principled, way of storing its infrastructure (modules) that is detailed here. A quick way to figure out where this is is to do
python -m site --user-siteWe need to add this to our path too. In my case is was ~/.local/bin
#Add this path to .bash_profile PATH=$PATH:$HOME/.local/binNext you will want pip, which is a more modern package manager than easy_install, but first you'll want setup tools:
wget https://bitbucket.org/pypa/setuptools/raw/bootstrap/ez_setup.py -O - | python
cd /tmp #(We have write access here) curl -O https://pypi.python.org/packages/source/p/pip/pip-1.3.tar.gz tar -xzf pip-1.3.tar.gz cd pip-1.3/ python setup.py install --userPython informs us pip is now installed under
~/.local/bin/. The magic from now on is to simply add --user to our pip install commands to install packages in our userspace. Let's try this out:
pip install matplotlib --user pip install ipython --user pip install --upgrade nose --user #(The server had an older version of nose)And we have our environment. The HPC cluster I went into already had numpy and scipy, but you may need to install those as well.