38.4 Der Paketmanager conda
Wenn Sie die Python-Distribution Anaconda verwenden, steht Ihnen neben pip noch der Paketmanager conda zur Verfügung, mit dem Sie bequem Python-Pakete installieren können. Ein Vorteil von conda gegenüber pip und anderen Paketmanagern ist, dass er neben Python-Paketen noch andere Programme installieren und verwalten kann. Außerdem ist sichergestellt, dass die von conda installierten Pakete und Programme in jeweils zueinander passenden Versionen vorliegen.
Der Paketmanager conda bietet umfangreiche Funktionalität[ 179 ](Es werden beispielsweise Mechanismen angeboten, um verschiedene Versionen von Python und Paketen parallel zu installieren und zwischen den installierten Versionen komfortabel zu wechseln. Weitere Informationen finden Sie in der (englischsprachigen) Dokumentation zu conda unter https://conda.io/docs/using/. ) an, die weit über unsere Anforderungen im Rahmen dieses Buchs hinausgeht. Er steht in einer Version für die Kommandozeile oder in einer grafischen Variante bereit. Wir werden uns hier auf einige Basisfunktionalitäten in der Version für die Kommandozeile beschränken.
Um conda zu verwenden, öffnen Sie unter Windows eine Kommandozeile über den Startmenüeintrag Anaconda Prompt und unter Linux oder macOS eine Shell.
[»] Hinweis für Linux oder macOS
Wenn Sie den Python-Interpreter von Anaconda bei der Installation nicht als Standard-Python eingestellt haben, wie in Abschnitt 2.2 beschrieben, müssen Sie zunächst das folgende Kommando ausführen:
$ export PATH=/home/ihr_benutzer/anaconda3/bin:$PATH
Dabei ist /home/ihr_benutzer/anaconda3 der Pfad, in dem Sie Anaconda installiert haben.
Innerhalb der Kommandozeile oder Shell können Sie conda nun ausführen. Beispielsweise erhalten Sie mit dem folgenden Aufruf die aktuell installierte Version von conda:
$ conda --version
conda 4.3.14
Ein typischer Aufruf von conda hat die folgende Struktur:
$ conda befehl argumente
Ähnlich wie bei pip gibt es hier unter anderem Befehle zum Installieren und Deinstallieren von Python-Paketen. Tabelle 38.3 zeigt eine Auswahl der verfügbaren Befehle.
Befehl | Bedeutung |
---|---|
info | Zeigt Informationen über die Installation von conda an. |
help | Gibt eine Beschreibung der Verwendung von conda in englischer Sprache aus. |
search | Sucht nach Paketen anhand ihres Namens. |
list | Zeigt alle installierten Pakete an. |
install | Installiert Pakete. |
remove | Deinstalliert Pakete. |
update | Aktualisiert Pakete. |
Als Beispiel wird uns das Paket django dienen, welches in Kapitel 40 besprochen wird.
Zunächst verwenden wir die Suchfunktion von conda, um nach dem Paket zu suchen. Dabei müssen wir nicht exakt den Namen des Pakets angeben, sondern ein Teil des Namens reicht aus:
$ conda search jan
Fetching package metadata .........
django 1.6.5 py26_0 defaults
[…]
1.10.5 py27_0 defaults
1.10.5 py34_0 defaults
1.10.5 py35_0 defaults
1.10.5 py36_0 defaults
r-janeaustenr 0.1.4 r3.3.2_0 defaults
Die Ausgabe informiert uns darüber, dass conda die Pakete django und r-janeaustenr zu unserer Anfrage gefunden hat. Außerdem werden zu jedem gefundenen Paket die verfügbaren Kombinationen aus Version des Pakets und Version des Python-Interpreters angezeigt.
Mit dem folgenden Befehl installieren Sie django in der aktuellsten Version für den aktuell ausgewählten Python-Interpreter:
$ conda install django
Fetching package metadata .........
Solving package specifications: .
Package plan for installation in environment /home/ihr_benutzer/anaconda3:
The following NEW packages will be INSTALLED:
django: 1.10.5-py36_0
Proceed ([y]/n)?
Um die Installation zu bestätigen, quittieren Sie die letzte Frage mit (¢). Wenn Sie anschließend die Liste der installierten Pakete anzeigen lassen, ist django dort enthalten.
$ conda list
[…]
django 1.10.5 py36_0
[…]
Um das Paket wieder zu entfernen, können Sie den Befehl remove verwenden:
$ conda remove django
Fetching package metadata .........
Solving package specifications: .
Package plan for package removal in environment /home/ihr_benutzer/anaconda3:
The following packages will be REMOVED:
django: 1.10.5-py36_0
Proceed ([y]/n)?
In einigen Anwendungsfällen benötigen Sie eine bestimmte Version eines Pakets. Nehmen wir einmal an, wir bräuchten aus irgendeinem Grund die Version 1.10.4 von django. Mithilfe von conda können wir sie dadurch installieren, dass wir dem Paketnamen ein Gleichheitszeichen nachstellen, gefolgt von der gewünschten Versionsnummer:
$ conda install django=1.10.4
Fetching package metadata .........
Solving package specifications: .
Package plan for installation in environment /home/ihr_benutzer/anaconda3:
The following NEW packages will be INSTALLED:
django: 1.10.4-py36_0
Proceed ([y]/n)?
Selbstverständlich können Sie auf diese Weise nur die Versionen installieren, die in der Datenbank von conda verfügbar sind.
[»] Hinweis
In der Praxis sollten Sie immer die neuste verfügbare Version einer Software verwenden, wenn es keinen triftigen Grund für die Verwendung einer alten Version gibt.