Zentrum für Datenverarbeitung (ZDV)

Python-Pakete auf dem BinAC installieren

Diese Anleitung beschreibt die Installation von Python-Paketen im $HOME-Verzeichnis auf dem BinAC mittels Miniconda, mit dem reproduzierbare Laufzeitumgebungen für Python geschaffen werden können. Miniconda kann Pakete, Abhängigkeiten und Umgebungen für jede Sprache verwalten (Python, R, Ruby, Lua, Scala, Java, JavaScript, C/++, FORTRAN, ...).

Zuerst müssen Miniconda im $HOME-Verzeichnis installiert und die Arbeitsumgebung konfiguriert werden.

Miniconda Installation

Zur Installation wird der Miniconda-Installer von der Miniconda-Webseite heruntergeladen und ausgeführt.

Der Installer wird Miniconda zum $PATH hinzufügen, wenn dies nicht abgelehnt wird. Durch die Änderung werden standardmäßig nicht mehr die auf dem System installierten Python und Pip Executables ausgeführt, sondern die von Miniconda mitgelieferten. Hier muss der Parameter gegebenenfalls geändert werden. Alle anderen Parameter können mit den Standardwerten belassen werden.

$ wget repo.continuum.io/miniconda/Miniconda3-latest-Linux-x86_64.sh
$ sh Miniconda3-latest-Linux-x86_64.sh

Sollen neben Python-Paketen auch Conda-Pakete installiert werden, muss noch zusätzlich der bioconda conda-channel hinzugefügt werden (relevant für Bioinformatiker).

$ conda config --add channels defaults
$ conda config --add channels bioconda
$ conda config --add channels conda-forge

Conda Umgebung Einrichten

Python-Pakete lassen sich mit Conda einfach und reproduzierbar installieren. Dazu muss zuerst eine neue Umgebung eingerichtet werden und die zu verwendende Python-Version angegeben werden. Dies wird eine neue Python-Installation mit einigen grundlegenden Paketen in einer getrennten Umgebung veranlassen.

Ein Beispiel der neuen Umgebung 'test' mit einer frischen Python 3.5 Installation:

$ conda create --name test python=3.5

Die angelegte Umgebung befindet sich jetzt in $HOME. Bevor neue Pakete installiert werden können muss sie allerdings noch aktiviert werden.

$ source activate test

Mit which können wir nach der Aktivierung prüfen, welches Python-Executable verwendet wird

$ which python

    ~/miniconda3/envs/test/bin/python

Es wird also tatsächlich das Executable aus der neu angelegten Umgebung verwendet.

Neue Pakete Installieren

Die Installation neuer Pakete mit pip install ist sehr einfach. Sobald die Umgebung aktiviert wurde kümmert sich Conda darum, dass alle Dateien im richtigen Verzeichnis landen. Eine bestimmte Numpy-Version könnte man so installieren:

$ pip install numpy==1.15.4

Die Numpy-Version und das Installationsverzeichnis kann in einer Python-Shell geprüft werden.

$ python
>>> import numpy
>>> numpy.__version__
'1.15.4'
>>> numpy.__path__
['~/miniconda3/envs/test/lib/python3.5/site-packages/numpy']

Conda Umgebungen anzeigen und entfernen

Die vorhandenen Conda environments können folgendermaßen angezeigt werden:

$ conda env list

Eine Umgebung kann mit

$ conda remove --name test --all

vollständig entfernt werden.

Weitere Ressourcen

Wie oben angesprochen kann Conda viel mehr, als nur Python-Pakete zu organisieren. Weitere Informationen dazu finden sich im User guide.