4063
Comment:
|
5039
|
Deletions are marked like this. | Additions are marked like this. |
Line 16: | Line 16: |
== Installing other versions of Python == | == Installing other versions of Python with pyenv == |
Line 18: | Line 18: |
You can of course install other versions of Python in your home. A very comfortable way of doing that is by using [[https://github.com/utahta/pythonbrew|pythonbrew]]. You will find a howto on that website with detailled instructions how to use it. | You can of course install other versions of Python in your home. A very comfortable way of doing that is by using {{{pyenv}}}. Here is a short install howto. Further down you find links to documentation etc. * Install pyenv: {{{ curl -L https://raw.githubusercontent.com/yyuu/pyenv-installer/master/bin/pyenv-installer | bash}}} * Add the following three lines to your ~/.bashrc: {{{ export PATH="$HOME/.pyenv/bin:$PATH" eval "$(pyenv init -)" eval "$(pyenv virtualenv-init -)"}}} * Restart your shell so the path changes take effect: {{{ exec $SHELL}}} * Install some python version, e.g. for python 2.7.7: {{{ pyenv install 2.7.7 pyenv rehash}}} * Make sure that this new python version will be used when you run python. You only need to run this command once: {{{ pyenv global 2.7.7}}} * In order to update {{{pyenv}}} run: {{{ pyenv update}}} === Documentation of pyenv === || Website of pyenv || https://github.com/yyuu/pyenv/ || || Website of pyenv installer || https://github.com/yyuu/pyenv-installer || |
Line 31: | Line 62: |
VERSION_NUMPY=1.6.0 installdir="${HOME}/opt" |
VERSION_NUMPY=1.7.1 |
Line 34: | Line 64: |
export PYTHONPATH=${installdir}/lib/python |
|
Line 41: | Line 69: |
http://sourceforge.net/projects/numpy/files/NumPy/${VERSION_NUMPY}/numpy-${VERSION_NUMPY}.tar.gz/download | http://sourceforge.net/projects/numpy/files/NumPy/${VERSION_NUMPY}/numpy-${VERSION_NUMPY}.tar.gz/download |
Line 45: | Line 73: |
python setup.py install --home=${installdir} | python setup.py install --user |
Line 50: | Line 78: |
|| '''Dependencies''' || || numpy || |
|| '''Depends on''' || || numpy || |
Line 56: | Line 84: |
VERSION_SCIPY=1.6.0 installdir="${HOME}/opt" |
VERSION_SCIPY=0.13.0b1 |
Line 59: | Line 86: |
export PYTHONPATH=${installdir}/lib/python |
|
Line 66: | Line 91: |
http://sourceforge.net/projects/scipy/files/scipy/${VERSION_SCIPY}/scipy-${VERSION_SCIPY}.tar.gz/download | http://downloads.sourceforge.net/project/scipy/scipy/${VERSION_SCIPY}/scipy-${VERSION_SCIPY}.tar.gz |
Line 70: | Line 95: |
python setup.py install --home=${installdir} | python setup.py install --user |
Line 75: | Line 100: |
* First you need to install scipy as shown above and make sure PYTHONPATH points to the new numpy installation. | || '''Depends on''' || || numpy || |
Line 80: | Line 106: |
VERSION_MATPLOTLIB=1.0.1 installdir="${HOME}/opt" |
VERSION_MATPLOTLIB=1.3.0 |
Line 83: | Line 108: |
export PYTHONPATH=${installdir}/lib/python |
|
Line 90: | Line 113: |
http://sourceforge.net/projects/matplotlib/files/matplotlib/matplotlib-${VERSION_MATPLOTLIB}/matplotlib-${VERSION_MATPLOTLIB}.tar.gz/download | http://sourceforge.net/projects/matplotlib/files/matplotlib/matplotlib-${VERSION_MATPLOTLIB}/matplotlib-${VERSION_MATPLOTLIB}.tar.gz/download |
Line 94: | Line 117: |
python setup.py install --home=${installdir} | python setup.py install --user |
Line 99: | Line 122: |
* This module is required to run e.g. the numpy and scipy test suites. | || '''Depends on''' || || numpy || || scipy || |
Line 105: | Line 130: |
installdir="${HOME}/opt" | |
Line 107: | Line 131: |
export PYTHONPATH=${installdir}/lib/python |
|
Line 117: | Line 139: |
python setup.py install --home=${installdir} | python setup.py install --user }}} === nlopt === {{{#!highlight bash #!/bin/bash # Installation script for nlopt library VERSION=2.3 INSTALLDIR=$HOME/.local BUILDDIR=/scratch/$USER/nlopt mkdir -p $BUILDDIR cd $BUILDDIR wget "http://ab-initio.mit.edu/nlopt/nlopt-${VERSION}.tar.gz" tar -xvvzkf nlopt-${VERSION}.tar.gz cd nlopt-${VERSION} ./configure \ --enable-shared \ --prefix=$INSTALLDIR \ OCT_INSTALL_DIR=$INSTALLDIR/octave/oct \ M_INSTALL_DIR=$INSTALLDIR/octave/m/ \ MEX_INSTALL_DIR=$INSTALLDIR/mex \ GUILE_INSTALL_DIR=$INSTALLDIR/guile make make install |
Python
We provide as many modules as possible that come with the current Debian GNU/Linux stable release. Nevertheless, that might not be enough for your needs since you may want to use the newest version of some module or one that is not part of Debian.
Since Python 2.6 there is an easy way to install missing or outdated modules in your home through easy_install.
How to use easy_install
Command line help:
easy_install --help
Online documentation:
Install a new module:
easy_install --user MODULENAME
Update an existing module:
easy_install --user -U MODULENAME
Modules will be installed in your home within ~/.local/. You do not need to adapt the PYTHONPATH environment variable since python will look for modules in this directory automatically.
Installing other versions of Python with pyenv
You can of course install other versions of Python in your home. A very comfortable way of doing that is by using pyenv. Here is a short install howto. Further down you find links to documentation etc.
- Install pyenv:
curl -L https://raw.githubusercontent.com/yyuu/pyenv-installer/master/bin/pyenv-installer | bash
- Add the following three lines to your ~/.bashrc:
export PATH="$HOME/.pyenv/bin:$PATH" eval "$(pyenv init -)" eval "$(pyenv virtualenv-init -)"
- Restart your shell so the path changes take effect:
exec $SHELL
- Install some python version, e.g. for python 2.7.7:
pyenv install 2.7.7 pyenv rehash
- Make sure that this new python version will be used when you run python. You only need to run this command once:
pyenv global 2.7.7
In order to update pyenv run:
pyenv update
Documentation of pyenv
Website of pyenv
Website of pyenv installer
Installation of custom (non easy_install-able) Python modules in the home directory of a user
We are sometimes asked for newer version of Python modules. We do no longer build Python modules in SEPP as the requests for modules and their versions is too widespread to keep these modules maintainable.
On this page we will list some bash-snippets that install some often requested modules in a users home.
numpy
1 #!/bin/bash
2
3 VERSION_NUMPY=1.7.1
4 builddir="/scratch/${USER}/build/numpy"
5
6 mkdir -p ${builddir}
7
8 cd ${builddir}
9 wget --output-document=numpy-${VERSION_NUMPY}.tar.gz \
10 http://sourceforge.net/projects/numpy/files/NumPy/${VERSION_NUMPY}/numpy-${VERSION_NUMPY}.tar.gz/download
11 tar -xvvzkf numpy-${VERSION_NUMPY}.tar.gz
12 cd numpy-${VERSION_NUMPY}
13 python setup.py build --fcompiler=gnu95
14 python setup.py install --user
scipy
Depends on |
numpy |
1 #!/bin/bash
2
3 VERSION_SCIPY=0.13.0b1
4 builddir="/scratch/${USER}/build/scipy"
5
6 mkdir -p ${builddir}
7
8 cd ${builddir}
9 wget --output-document=scipy-${VERSION_SCIPY}.tar.gz \
10 http://downloads.sourceforge.net/project/scipy/scipy/${VERSION_SCIPY}/scipy-${VERSION_SCIPY}.tar.gz
11 tar -xvvzkf scipy-${VERSION_SCIPY}.tar.gz
12 cd scipy-${VERSION_SCIPY}
13 python setup.py build
14 python setup.py install --user
matplotlib
Depends on |
numpy |
1 #!/bin/bash
2
3 VERSION_MATPLOTLIB=1.3.0
4 builddir="/scratch/${USER}/build/matplotlib"
5
6 mkdir -p ${builddir}
7
8 cd ${builddir}
9 wget --output-document=matplotlib-${VERSION_MATPLOTLIB}.tar.gz \
10 http://sourceforge.net/projects/matplotlib/files/matplotlib/matplotlib-${VERSION_MATPLOTLIB}/matplotlib-${VERSION_MATPLOTLIB}.tar.gz/download
11 tar -xvvzkf matplotlib-${VERSION_MATPLOTLIB}.tar.gz
12 cd matplotlib-${VERSION_MATPLOTLIB}
13 python setup.py build
14 python setup.py install --user
nose
Depends on |
numpy |
scipy |
1 #!/bin/bash
2
3 VERSION_NOSE=1.0.0
4 builddir="/scratch/${USER}/build/nose"
5
6 mkdir -p ${builddir}
7
8 cd ${builddir}
9 wget http://somethingaboutorange.com/mrl/projects/nose/nose-${VERSION_NOSE}.tar.gz
10 tar -xvvzkf nose-${VERSION_NOSE}.tar.gz
11 cd nose-${VERSION_NOSE}
12 python setup.py build
13 python setup.py install --user
nlopt
1 #!/bin/bash
2
3 # Installation script for nlopt library
4
5 VERSION=2.3
6 INSTALLDIR=$HOME/.local
7 BUILDDIR=/scratch/$USER/nlopt
8
9 mkdir -p $BUILDDIR
10 cd $BUILDDIR
11
12 wget "http://ab-initio.mit.edu/nlopt/nlopt-${VERSION}.tar.gz"
13 tar -xvvzkf nlopt-${VERSION}.tar.gz
14 cd nlopt-${VERSION}
15
16 ./configure \
17 --enable-shared \
18 --prefix=$INSTALLDIR \
19 OCT_INSTALL_DIR=$INSTALLDIR/octave/oct \
20 M_INSTALL_DIR=$INSTALLDIR/octave/m/ \
21 MEX_INSTALL_DIR=$INSTALLDIR/mex \
22 GUILE_INSTALL_DIR=$INSTALLDIR/guile
23
24 make
25 make install