This is an old revision of the document!
Before following this guide read through the README file located in the Python Source Install Folder. Also it recommended to make use of temporary or scratch directory to do all the compilation in (i.e. ~/scratch or /tmp/$USER), as to save disk space in your home directory. This guide assumes GCC 4.6.2 has been installed in your home directory as in Compiling GCC from Source. Ensure that the following lines at the end of your ./bashrc file
export LD_LIBRARY_PATH=$HOME/lib:$LD_LIBRARY_PATH export LD_LIBRARY_PATH=$HOME/lib64:$LD_LIBRARY_PATH export PATH=$HOME/bin:$PATH export LDFLAGS="-L$HOME/lib64 -L$HOME/lib" export CPPFLAGS="-I$HOME/include -L$HOME/lib64 -L$HOME/lib" export CXXFLAGS=$CPPFLAGS export F77=gfortran
log out and in again,
$ gcc --version gcc (GCC) 4.6.2
Before compiling Python, the zlib library needs to installed.
$ cd ~/scratch $ wget http://zlib.net/zlib-1.2.6.tar.gz $ tar -xf zlib-1.2.6.tar.gz $ cd zlib-1.2.6 $ make
Test it!
$ make check
Install if all tests passes
$ make install
$ cd ~/scratch $ wget http://www.python.org/ftp/python/2.7.3/Python-2.7.3.tgz $ tar -xf Python-2.7.3.tgz
$ cd ~/scratch/Python-2.7.3.tgz $ mkdir BUILD $ cd BUILD $ ../configure --prefix=$HOME
$ make
If errors occur such as
wait a while and then make again, as the process was killed by the usage limiter which runs on the login node. If nessary try the approach shown in Compiling GCC from Source.
$ make test
No news is good news: If this test command completes with out an error you know that Python has been compiled successfully.
$ make install
Add the following to the end of your .bashrc file
# Python 2.7.3 installed in home directory PYTHONPATH=~/lib/python:~/lib/python2.7/site-packages/
Log in and out, then
$ python Python 2.7.3 (default, Apr 12 2012, 12:03:56) [GCC 4.6.2] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>>
Before beginning make sure bash environmental variables do not cause a conflict
unset CPPFLAGS unset LDFLAGS
$ cd ~/scratch $ wget http://archive.ipython.org/release/0.12/ipython-0.12.tar.gz $ tar -xf ipython-0.12.tar.gz $ cd ipython-0.12 $ python setup.py install --prefix=$HOME
provided your $HOME/bin in your PATH variable, ipython should now be available
$ cd ~/scratch $ wget http://pypi.python.org/packages/source/n/nose/nose-1.1.2.tar.gz#md5=144f237b615e23f21f6a50b2183aa817 $ tar -xf nose-1.1.2.tar.gz $ cd nose-1.1.2 $ python setup.py install --prefix=$HOME
Before beginning compile the LAPACK and BLAS librariess as in Compiling Octave 3.4.3 from Source, and copy libraries to $HOME.lib:
$lapack-3.4.0> cp lib* $HOME/lib
Download the last version of numpy source, in your scratch folder. Extract it, run python setup.py install –prefix=$HOME. Then test it (note this requires nose)
$ cd ~ $ ipython $ import numpy $ numy.test