Differences between revisions 1 and 31 (spanning 30 versions)
Revision 1 as of 2012-06-19 06:30:32
Size: 1010
Editor: alders
Comment:
Revision 31 as of 2014-06-20 14:57:36
Size: 3556
Editor: alders
Comment:
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`. Thus, you should be able to install any module that supports `easy_install` by yourself in short time. 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).

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 || 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/


== Installation of Python modules that are now found in the archives of pip ==

Here we provide some shell script snippets for installing frequently asked modules which cannot be installed through {{{pip}}}. This scripts just provide an example installation. You might have to adapt some paths in order to make the module work correctly with the version of python you are using (e.g. if you run your custom python provided through {{{pyenv}}}).

=== 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
}}}

----
[[CategoryLXSW]]

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

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 Python modules that are now found in the archives of pip

Here we provide some shell script snippets for installing frequently asked modules which cannot be installed through pip. This scripts just provide an example installation. You might have to adapt some paths in order to make the module work correctly with the version of python you are using (e.g. if you run your custom python provided through pyenv).

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


CategoryLXSW

Programming/Languages/Python (last edited 2023-11-06 08:33:58 by stroth)