4052
Comment:
|
5477
|
Deletions are marked like this. | Additions are marked like this. |
Line 3: | Line 3: |
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. | 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. Furthermore you might want to use a different version of Python. |
Line 5: | Line 5: |
Since Python 2.6 there is an easy way to install missing or outdated modules in your home through `easy_install`. | The recommended way to install additional python modules is through {{{pip}}}. Unfortunately, {{{pip}}} does not allow users to install modules in the user context. That means that you will first have to install your own version of python in your home. From that moment on, you can install modules through {{{pip}}}. |
Line 7: | Line 7: |
== How to use easy_install == | |
Line 9: | Line 8: |
|| Command line help: || `easy_install --help` || || Online documentation: || http://packages.python.org/distribute/easy_install.html || || Install a new module: || `easy_install --user MODULENAME` || || Update an existing module: || `easy_install --user -U MODULENAME` || |
== Installing your own python versions with pyenv == |
Line 14: | Line 10: |
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. | {{{Pyenv}}} is a collection of tools that allow users to manage different versions of python. In the simplest case you will need it to simply get an installation of python in your user space. Using that custom python installation, you will then be able to install additional modules in a very comfortable way, since you can install them in the "system path" (which is then somewhere within your home). |
Line 16: | Line 12: |
== Installing other versions of Python == | Here is a small howto for installing python 2.7.7 in your home: |
Line 18: | Line 14: |
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. | * 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 || == Installation of additional or newer modules with pip == Once you installed your custom python with the explanations given above, you are ready to install additional or newer modules the easy way. As an example, you can just run {{{ pip install numpy}}} to install {{{numpy}}} within your custom python installation. For advanced usage of {{{pip}}}, please consult the manuals: http://pip.readthedocs.org/en/latest/ |
Line 22: | Line 58: |
We are sometimes asked for newer version of Python modules. Since we do not want to maintain Python for Linux in SEPP, the user needs to install these modules in his/her home directory. | 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. |
Line 28: | Line 64: |
{{{ | {{{#!highlight bash |
Line 31: | Line 67: |
VERSION_NUMPY=1.6.0 installdir="${HOME}/opt" |
VERSION_NUMPY=1.7.1 |
Line 34: | Line 69: |
export PYTHONPATH=${installdir}/lib/python |
|
Line 41: | Line 74: |
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 78: |
python setup.py install --home=${installdir} | python setup.py install --user |
Line 50: | Line 83: |
* First you need to install scipy as shown above and make sure PYTHONPATH points to the new numpy installation. | || '''Depends on''' || || numpy || |
Line 52: | Line 86: |
{{{ | {{{#!highlight bash |
Line 55: | Line 89: |
VERSION_SCIPY=1.6.0 installdir="${HOME}/opt" |
VERSION_SCIPY=0.13.0b1 |
Line 58: | Line 91: |
export PYTHONPATH=${installdir}/lib/python |
|
Line 65: | Line 96: |
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 69: | Line 100: |
python setup.py install --home=${installdir} | python setup.py install --user |
Line 74: | Line 105: |
* First you need to install scipy as shown above and make sure PYTHONPATH points to the new numpy installation. | || '''Depends on''' || || numpy || |
Line 76: | Line 108: |
{{{ | {{{#!highlight bash |
Line 79: | Line 111: |
VERSION_MATPLOTLIB=1.0.1 installdir="${HOME}/opt" |
VERSION_MATPLOTLIB=1.3.0 |
Line 82: | Line 113: |
export PYTHONPATH=${installdir}/lib/python |
|
Line 89: | Line 118: |
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 93: | Line 122: |
python setup.py install --home=${installdir} | python setup.py install --user |
Line 98: | Line 127: |
* This module is required to run e.g. the numpy and scipy test suites. | || '''Depends on''' || || numpy || || scipy || |
Line 100: | Line 131: |
{{{ | {{{#!highlight bash |
Line 104: | Line 135: |
installdir="${HOME}/opt" | |
Line 106: | Line 136: |
export PYTHONPATH=${installdir}/lib/python |
|
Line 116: | Line 144: |
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. Furthermore you might want to use a different version of Python.
The recommended way to install additional python modules is through pip. Unfortunately, pip does not allow users to install modules in the user context. That means that you will first have to install your own version of python in your home. From that moment on, you can install modules through pip.
Installing your own python versions with pyenv
Pyenv is a collection of tools that allow users to manage different versions of python. In the simplest case you will need it to simply get an installation of python in your user space. Using that custom python installation, you will then be able to install additional modules in a very comfortable way, since you can install them in the "system path" (which is then somewhere within your home).
Here is a small howto for installing python 2.7.7 in your home:
- 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 additional or newer modules with pip
Once you installed your custom python with the explanations given above, you are ready to install additional or newer modules the easy way. As an example, you can just run
pip install numpy
to install numpy within your custom python installation.
For advanced usage of pip, please consult the manuals: http://pip.readthedocs.org/en/latest/
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