Teil 15: Virtuelle Umgebungen & pip

In Python-Projekten ist es entscheidend, Abhängigkeiten sauber zu verwalten. Virtuelle Umgebungen ermöglichen es, verschiedene Projekte isoliert zu betreiben, sodass Pakete und Versionen nicht miteinander in Konflikt geraten. pip ist das Standardwerkzeug, um Python-Pakete zu installieren und zu verwalten. In diesem Teil lernst du, wie du virtuelle Umgebungen erstellst, aktivierst und Pakete installierst.


1. Warum virtuelle Umgebungen?

Ohne virtuelle Umgebungen werden Pakete global installiert, was Probleme verursachen kann:

  • Verschiedene Projekte benötigen unterschiedliche Versionen desselben Pakets
  • Globale Installation kann Systempakete beeinflussen
  • Updates eines Projekts können andere Projekte brechen

Virtuelle Umgebungen isolieren Projekte, sodass jede Umgebung ihre eigenen Pakete hat.


2. Virtuelle Umgebungen mit venv

Python liefert ein Modul venv, um virtuelle Umgebungen zu erstellen.

Erstellen einer virtuellen Umgebung

python -m venv mein_projekt_env
  • mein_projekt_env ist der Name der Umgebung
  • Im Verzeichnis wird ein Ordner mit Python, pip und Standardpaketen angelegt

Aktivieren der virtuellen Umgebung

  • Windows:
mein_projekt_env\Scripts\activate
  • Mac/Linux:
source mein_projekt_env/bin/activate
  • Nach Aktivierung zeigt die Konsole den Umgebungsnamen:
(mein_projekt_env) C:\Users\...

Deaktivieren der Umgebung

deactivate
  • Kehre zur globalen Python-Installation zurück

3. Pakete mit pip installieren

pip ist das Standardwerkzeug für Python-Pakete.

Installation eines Pakets

pip install pandas
  • Installiert das Paket in der aktuellen virtuellen Umgebung

Installation einer bestimmten Version

pip install numpy==1.24.2
  • Nützlich, wenn Projekte auf bestimmte Versionen angewiesen sind

Mehrere Pakete gleichzeitig installieren

pip install pandas numpy matplotlib

4. Pakete verwalten

Liste installierter Pakete

pip list
  • Zeigt alle Pakete und Versionen

Upgrade eines Pakets

pip install --upgrade pandas
  • Aktualisiert die Version

Paket deinstallieren

pip uninstall matplotlib

5. Abhängigkeiten dokumentieren: requirements.txt

Ein wichtiger Bestandteil von Projekten ist eine requirements-Datei, die alle benötigten Pakete auflistet:

pip freeze > requirements.txt
  • Erstellt eine Datei mit allen aktuell installierten Paketen
  • Andere können Umgebung reproduzieren:
pip install -r requirements.txt

6. Praxisbeispiel: Data-Science-Projekt starten

  1. Virtuelle Umgebung erstellen:
python -m venv ds_projekt_env
  1. Aktivieren:
source ds_projekt_env/bin/activate  # Mac/Linux
# oder
ds_projekt_env\Scripts\activate     # Windows
  1. Pakete installieren:
pip install pandas numpy matplotlib scikit-learn
  1. Projekt starten:
python main.py
  1. Anforderungen sichern:
pip freeze > requirements.txt

7. Vorteile virtueller Umgebungen in Data Science

  1. Isolierte Projektumgebungen – keine Versionskonflikte
  2. Reproduzierbarkeit – Projekte können auf anderen Systemen identisch laufen
  3. Einfache Paketverwaltung – Upgrades oder Deinstallation ohne globale Auswirkungen
  4. Teamarbeit – Teammitglieder können requirements.txt verwenden

8. Tipps und Best Practices

  • Für jedes Projekt eine eigene virtuelle Umgebung
  • requirements.txt regelmäßig aktualisieren
  • pip aktualisieren, um neueste Pakete nutzen zu können:
pip install --upgrade pip
  • Benutze klare Umgebungsnamen → z. B. data_analysis_env

9. Kombination mit Jupyter Notebooks

Virtuelle Umgebungen können auch in Jupyter Notebooks genutzt werden:

  1. ipykernel installieren:
pip install ipykernel
  1. Kernel für Notebook erstellen:
python -m ipykernel install --user --name=ds_projekt_env
  • Nun kannst du im Notebook den richtigen Kernel auswählen, der alle Pakete der virtuellen Umgebung enthält

10. Fazit

Virtuelle Umgebungen und pip sind unverzichtbar für professionelle Python-Projekte, insbesondere in Data Science:

  • Sie verhindern Versionskonflikte
  • Machen Projekte portabel und reproduzierbar
  • Erleichtern die Verwaltung von Paketen und Abhängigkeiten

Wer diese Tools sicher beherrscht, kann effizient und zuverlässig Projekte entwickeln, ohne dass globale Installationen durcheinandergeraten.


Kommentare

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert