Wenn du deine Python-Entwicklungsumgebung mit conda verwaltest, empfehle ich dir, den folgenden Artikel einmal zu lesen.
- Vorherige Lektüre:
Einführung in Conda, Anaconda, Miniconda
Der folgende Artikel wiederholt diese Punkte kurz und bietet einen praktischen Leitfaden zur Erstellung, Löschung, Klonung und Migration von conda-Umgebungen.
1. Anaconda vs Miniconda in Kürze
Zusammengefasst sieht es wie folgt aus:
-
Anaconda:
→ Eine komplett ausgestattete Distribution, die häufig verwendete Pakete für Datenwissenschaft/Machine Learning auf einmal installiert. -
Miniconda:
→ Bietet nur die Verwaltungsfunktionen für conda-Umgebungen/Pakete und,
stellt eine minimalistische Distribution bereit, bei der der Entwickler die benötigten Pakete selbst auswählt und installiert.
Ich bevorzuge den Stil „leicht anfangen und nur bei Bedarf Pakete hinzufügen“,
deshalb empfehle ich, im Normalfall Miniconda zu installieren und darauf die Umgebung aufzubauen.
-
Weniger Speicherplatzverbrauch
-
Weniger Aufwand beim Update
-
Nur das Notwendige projektweise installieren, was den Umgebungschaos reduziert.
2. Kurze Überblick über das Konzept von conda-Umgebungen
Die „Umgebung“ in conda ist einfach ausgedrückt ein von Projekten getrenntes Set aus Python/Paketen.
-
env A: Python 3.10 + Django 4 + bestimmte Bibliotheksversion -
env B: Python 3.11 + FastAPI + ganz anderes Set an Bibliotheken
Der Schlüssel ist, verschiedene Versionen voneinander zu isolieren, damit sie sich nicht beeinflussen.
Die häufigsten grundlegenden Befehle in Bezug auf Umgebungen sind:
# Liste der derzeit installierten conda-Umgebungen anzeigen
conda env list
# oder
conda info --envs
3. Erstellen einer conda-Umgebung
3.1 Erstellen der grundlegendsten Umgebung
conda create -n myenv python=3.12
-
-n myenv: Benennt die Umgebungmyenv -
python=3.12: Verwendet Python Version 3.12
Nach dem Erstellen der Umgebung:
conda activate myenv # Umgebung aktivieren
conda deactivate # Umgebung deaktivieren
3.2 Erstellen mit häufig verwendeten Paketen
conda create -n myenv python=3.12 numpy pandas matplotlib
Eine neue Umgebung wird erstellt, die diese Pakete aus dem Standardkanal von Miniconda installiert.
Danach kannst du:
conda activate myenv
conda install scikit-learn
# oder
pip install requests
nach Bedarf Pakete hinzufügen.
4. Löschen einer conda-Umgebung
Es ist ratsam, Umgebungen, die nicht mehr verwendet werden, zu löschen.
(Conda-Umgebungen nehmen relativ viel Speicherplatz ein.)
# myenv Umgebung löschen
conda env remove -n myenv
Überprüfen nach der Löschung:
conda env list
Wenn myenv nicht mehr in der Liste erscheint, ist es erfolgreich gelöscht.
5. Klonen einer conda-Umgebung
Wenn du eine Umgebung, die du für Experimente verwendet hast,
in eine „ähnliche Umgebung mit einem anderen Namen“ klonen möchtest, ist dies nützlich.
# Erstelle eine Klon-Umgebung namens new-env basierend auf existing-env
conda create -n new-env --clone existing-env
-
Da Paketversionen ebenfalls übernommen werden,
-
wird dies häufig verwendet, wenn du „die bestehende Umgebung behalten und neue Experimente durchführen möchtest“.
Nach dem Klonen:
conda activate new-env
kannst du überprüfen, ob alles gut funktioniert.
6. Migrieren einer conda-Umgebung (export / import)
Wenn du die Umgebung auf einen anderen PC oder Server übertragen möchtest,
ist es am gebräuchlichsten, die Umgebung als Datei zu exportieren und dann basierend auf dieser Datei eine neue Umgebung zu erstellen.
6.1 Umgebung exportieren – YAML-Datei erstellen
# Exportiere die myenv Umgebung als env.yml Datei
conda env export -n myenv > env.yml
Diese env.yml Datei enthält:
-
Den Umgebungsnamen
-
Informationen über verwendete Kanäle
-
Installierte Pakete und deren Versionen
Diese Informationen sind aufgezeichnet.
Wenn du nur eine minimale Liste basierend auf der Historie exportieren möchtest
Wenn du nicht die gesamte Liste mit Abhängigkeiten exportieren möchtest,
sondern nur „die Pakete, die ich selbst installiert habe“, kannst du Folgendes tun:
conda env export -n myenv --from-history > env-min.yml
So wird sichergestellt, dass bei der Erstellung in einer anderen Umgebung
conda die nötigen Abhängigkeiten selbst auflöst.
6.2 Erstellen der Umgebung auf einem anderen Ort (oder auf demselben Rechner)
An einem anderen PC, Server oder an einem neuen Ort auf demselben Rechner kannst du:
conda env create -f env.yml
Durch diesen Befehl wird eine Umgebung mit dem in env.yml definierten Namen und den Paketversionen erstellt.
-
Wenn
env.ymlden Eintragname: myenventhält, wird die Umgebung mit diesem Namen erstellt. -
Wenn du den Namen ändern möchtest, bearbeite den entsprechenden
name:Eintrag in derenv.ymlDatei und führe den Befehl aus.
Beispiel: Wenn du env.yml von name: myenv auf name: myenv-dev änderst,
und dann:
conda env create -f env.yml
conda activate myenv-dev
wirst du die gleiche Konfiguration unter einem anderen Namen erhalten.
7. Nützliche Muster für conda
Wenn du Umgebungen basierend auf Miniconda konfigurierst, hier eine Übersicht über nützliche Muster.
-
Eine Umgebung pro Projekt
-
Benenne Umgebungen nach Projektnamen wie
proj-a-env,proj-b-env. -
Dies erleichtert das Versionsmanagement ohne Konflikte.
-
-
Umgebung minimal installieren und bei Bedarf erweitern
-
Zu Beginn nur
pythonund ein paar grundlegende Pakete installieren. -
Bei Bedarf während der Entwicklung mit
conda installoderpip installerweitern
→ Dies entspricht gut der minimalistischen Philosophie von Miniconda.
-
-
Wichtige Umgebungen regelmäßig exportieren
-
Zu Release-Zeiten oder vor der Bereitstellung:
bash conda env export -n proj-a-env --from-history > proj-a-env.yml -
Wenn diese Datei im Repository gespeichert wird,
können Teamkollegen die gleiche Umgebung einfach reproduzieren.
-
-
Vor größeren Änderungen ein Backup klonen
-
Vor größeren Paketupgrades oder Python-Versionänderungen:
bash conda create -n proj-a-backup --clone proj-a-env -
Wenn Probleme auftreten, kannst du schnell zur Backup-Umgebung zurückwechseln.
-

Fazit: Leicht anfangen und bei Bedarf erweitern
Zusammenfassend sind die Optionen einfach.
-
Anaconda bedeutet, alle „möglichen benötigten Pakete“ auf einmal zu installieren.
-
Miniconda bedeutet, nur die „wirklich notwendigen Pakete“ nach Bedarf zu installieren.
In der heutigen Zeit, wo jedes Projekt unterschiedliche Anforderungen an Python-Versionen und Paketkombinationen hat,
ist die Kombination aus Miniconda + gut verwalteten conda-Umgebungen viel flexibler.
Für die Umgebung:
-
erstelle (
conda create) -
aktiviere (
conda activate) -
lösche (
conda env remove) -
klone (
conda create --clone) -
übertrage (
conda env export/conda env create)
Wenn du nur diese Grundlagen beherrschst, wirst du bei neuen Projekten weniger an folgende Fragen denken müssen:
„Was soll ich heute löschen und was wieder installieren?“
Wenn du ein neues Projekt startest, solltest du:
-
Eine neue Umgebung auf Basis von Miniconda erstellen
-
Nur die wirklich notwendigen Pakete darin installieren.
-
Wenn dir die Umgebung gefällt, exportiere sie als
env.yml,
und bei deinem nächsten Projekt kannst du diese leicht modifizieren und wiederverwenden.
Wenn du dieses Muster einmal verinnerlicht hast, wird die Verwaltung von conda-Umgebungen zu einer „starken Gewohnheit“, die „deine Projekte sauber hält“ und nicht mehr lästig sein.
Es sind keine Kommentare vorhanden.