ubuntuusers.de

Du betrachtest eine alte Revision dieser Wikiseite.

Anaconda

Dieser Artikel wurde für die folgenden Ubuntu-Versionen getestet:


Du möchtest den Artikel für eine weitere Ubuntu-Version testen? Mitarbeit im Wiki ist immer willkommen! Dazu sind die Hinweise zum Testen von Artikeln zu beachten.

Zum Verständnis dieses Artikels sind folgende Seiten hilfreich:

anaconda_logo.png Anaconda 🇬🇧 ist eine Python-Distribution, welche auf wissenschaftliches Arbeiten und die Analyse von (großen) Datenmengen ausgelegt ist. Anaconda ist kostenlos und frei - und besteht auch aus freier Software - die hinter dem Projekt stehende Firma Continuum Analytics 🇬🇧 bietet aber zusätzlichen kommerziellen Support an.

Anaconda bringt alles nötige mit, inklusive dem Python-Interpreter. Dadurch ist es unabhängig vom darunter liegenden System. Anaconda an sich enthält keine Python-Module, die man nicht auch auf anderem Wege wie über die Paketverwaltung oder pip installieren könnte. Der Vorteil von Anaconda ist, dass man sich nicht selber um das Auflösen der teils komplexen Abhängigkeiten kümmern muss. Außerdem besitzt Anaconda einen eigenen Paketmanager namens conda, der alle Pakete innerhalb der Distribution aktuell hält.

Eine komplette Übersicht über die enthaltenen Python-Module findet man in der Dokumentation 🇬🇧.

In Anaconda enthalten ist auch Numba, ein Just-in-Time Compiler, mit dem die Ausführung von Python-Code erheblich beschleunigt werden kann.

Installation

Anaconda muss manuell installiert werden. Dazu lädt man von der Downloadseite 🇬🇧 ⮷ die passende Datei herunter. Zur Auswahl steht eine Version mit Python 3.x für 64-bit-Systeme. Der Download ist ca. 500 MiB groß.

Nachdem die Datei heruntergeladen ist, führt man diese im Terminal[1] aus, z.B.:

bash Anaconda3-2020.2-Linux-x86_64.sh 

Die Angaben 2020.2 ist dabei ggf. je nach heruntergeladener Version anzupassen.

Hinweis!

Fremdsoftware kann das System gefährden.

Standardmäßig installiert Anaconda alle Programme in das Homeverzeichnis des Benutzers in ein eigenes Unterverzeichnis namens ~/anaconda3 (Anaconda für Python 3). Möchte man ein anderes Zielverzeichnis, dann kann man dies im Installationsassistenten bei der entsprechenden Frage eingeben.

Zum Schluss fragt der Installer, ob das Installationsverzeichnis von Anaconda dem Suchpfad für Programme hinzugefügt werden soll. Antwortet man hier mit "ja", dann wird der entsprechende Eintrag in der Datei ~/.bashrc vorgenommen.

Achtung!

Fügt man Anaconda dem Suchpfad hinzu, dann kann sich dies ggf. auf das gesamte System auswirken. So findet z.B. der Aufruf von python3 zuerst den von Anaconda installierten Interpreter für Python 3 - welcher aber eventuell eine andere Version haben kann wie der, der systemweit installiert ist. Was wiederum im schlechtesten Fall dazu führt, dass Programme für Python 3 nicht mehr wie erwartet funktionieren.

Um dies zu verhindern, muss man bei der oben genannten Frage "nein" auswählen, dann laufen das System-Python und Anaconda problemlos nebeneinander, ohne Konflikte.

Miniconda

Miniconda 🇬🇧 ist "nur" der Kern von Anaconda, d.h. der Python Interpreter und der Paketmanager Conda. Die etlichen Python-Module, die bei der Vollinstallation von Anaconda mit installiert werden, werden bei Miniconda nicht installiert. Miniconda bietet sich also dann an, wenn man die Vorteile von Anaconda nutzen müsste, aber selber die Kontrolle darünber haben möchte, welche Python-Module installiert werden soll. Ein Vergleich der beiden ist auf der Anaconda-Seite 🇬🇧 zu finden.

Benutzung

Nach der Installation ist die Anaconda-Distribution bzw. die darin enthaltene Software einsatzbereit. Im Folgenden wird davon ausgegangen, dass Anaconda im Homeverzeichnis (z.B. ~/anaconda3) installiert ist und dass man Anaconda nicht dem Suchpfad hinzugefügt hat.

Zuerst wechselt man ins Unterverzeichnis bin. Hier kann man dann z.B.

./python3    ## python3 Interpreter
./idle3      ## IDLE IDE für Python 3
./ipython    ## IPython interaktive Shell 

aufrufen.

Innerhalb der von Anaconda installierten Python-Interpreter bzw. Shells/IDEs können nur Python-Module importiert werden, welche Anaconda mit installiert hat. Andere, unabhängig von Anaconda installierte Module sind nicht sichtbar. Umgekehrt kann der systemweite Python-Interpreter auch keine Module importieren, welche in Anaconda installiert sind.

conda

conda ist der Paketmanager von Anaconda, der aber auch andere Aufgaben wie das Anlegen von virtuellen Umgebungen übernimmt. Der allgemeine Aufruf, ebenfalls im Unterverzeichnis bin lautet:

./conda BEFEHL OPTION(EN) 

Paketverwaltung

Mit conda können weitere Python-Module innerhalb von Anaconda nachinstalliert:

./conda install --name MODUL 

oder auch wieder entfernt werden:

./conda remove --name MODUL 

Mit dem Befehl

./conda update conda 

wird conda selbst aktualisiert.

Eine komplette Befehlsübersicht ist in der Dokumentation 🇬🇧 zu finden.

Virtuelle Umgebungen

Die Nutzung von virtuellen Umgebungen entspricht virtualenv, wird aber über conda gesteuert. Zum Anlagen von virtuellen Umgebungen dient der Befehl:

conda create --name NAME MODUL(E) 

NAME und MODUL sind dabei Pflichtangaben. Möchte man die virtuelle Umgebung aktivierten, so wechselt man in deren Verzeichnis (envs/NAME) und für dort den Befehl:

source bin/activate NAME 

aus. Deaktiviert wird die virtuelle Umgebung über:

source deactivate 

Eine Übersicht über alle angelegten virtuellen Umgebung - ausgeführt im bin Verzeichnis der Anaconda-Installation - liefert:

./conda env list 

Eine komplette Übersicht über virtuellen Umgebungen mit conda findet man in der Dokumentation 🇬🇧.

Numba

Numba 🇬🇧 ist ein Just-in-Time Compiler, welcher standardmäßig bei Anaconda mit installiert wird, ansonsten über den Befehl

conda install numba 

nachinstalliert werden kann.

Die Verwendung von Numba ist ganz einfach, da man lediglich die Funktion, die mit Hilfe des Numa Just-in-Time Compilers ausgeührt werden soll, mit einem Dekarotor versehen muss:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
from numba import jit

@jit
def is_prime(n):
    if n % 2 == 0:
        return False

    sqrt_n = int(math.floor(math.sqrt(n)))
    for i in range(3, sqrt_n + 1, 2):
        if n % i == 0:
            return False
    return True

is_prime(2327074306453592351)

Die Verwendung von Numba macht immer dann Sinn, wenn eine Funktion eine rechenintensive Aufgabe - wie im obigen Beispiel - ausführt, da die Ausführung so um ein vielfaches schneller ist.

Weitere Informationen zu Numba findet man in der Dokumentation 🇬🇧 von Numba.

Deinstallation

Zur Deinstallation löscht man einfach das komplette Installationsverzeichnis inklusive aller Unterverzeichnisse. Hat man Anaconda dem Suchpfad hinzugefügt, dann muss man zusätzlich noch die PATH Variable in der Datei .bashrc editieren und den Eintrag entfernen, welche auf den Installationspfad von Anaconda zeigt.

Diese Revision wurde am 4. August 2020 17:56 von Jan_Helbling erstellt.
Die folgenden Schlagworte wurden dem Artikel zugewiesen: Python, Programmierung