Pipenv ist ein leistungsstarkes Tool zur Verwaltung von Python-Paketen und virtuellen Umgebungen. Es vereinfacht die Verwaltung von Abhängigkeiten, sorgt für Konsistenz und erhöht die Sicherheit durch automatisierte Sicherheitschecks. Mit Pipenv kannst du deine Python-Projekte effizient und zuverlässig verwalten und deployen.
Pipenv ist ein Werkzeug zur Verwaltung von Python-Paketen und virtuellen Umgebungen. Es kombiniert die Funktionalität von pip
(Paketmanagement) und virtualenv
(Umgebungsmanagement) und macht das Arbeiten an Python-Projekten einfacher und konsistenter. Pipenv kümmert sich um die Erstellung und Verwaltung virtueller Umgebungen und erlaubt die exakte Kontrolle über Paketversionen für Entwicklung und Deployment.
Virtuelle Umgebungen: Pipenv erstellt und verwaltet automatisch virtuelle Umgebungen.
Paketverwaltung: Pipenv speichert Abhängigkeiten in Pipfile
und Pipfile.lock
, wodurch exakte Versionen für das Deployment festgelegt werden.
Verbesserte Sicherheit: Pipenv bietet Sicherheitsüberprüfungen für Abhängigkeiten und warnt bei Schwachstellen.
Einfache Verwendung: Mit Pipenv können sowohl Entwickler- als auch Produktionsabhängigkeiten leicht installiert und verwaltet werden.
Pipenv kann über pip
installiert werden. Öffne ein Terminal und führe folgenden Befehl aus:
pip install pipenv
Überprüfe die Installation mit:
pipenv --version
Um ein neues Projekt mit Pipenv zu starten, navigiere in das Projektverzeichnis und initialisiere eine neue Pipenv-Umgebung:
pipenv install
Dies erstellt eine neue virtuelle Umgebung und eine Pipfile
, in der die Abhängigkeiten des Projekts gespeichert werden.
Pipenv ermöglicht es dir, Pakete entweder als Produktions- oder Entwicklungsabhängigkeiten zu installieren.
Um ein Paket als Produktionsabhängigkeit zu installieren, verwende:
pipenv install <paketname>
Um ein Paket als Entwicklungsabhängigkeit zu installieren, verwende:
pipenv install <paketname> --dev
Nach der Installation erscheinen die Pakete in der Pipfile
, und die exakten Versionsinformationen werden in der Pipfile.lock
gespeichert, um die Konsistenz zu gewährleisten.
Pipenv bietet eine Reihe von nützlichen Befehlen zur Verwaltung der virtuellen Umgebung.
Aktiviere die virtuelle Umgebung:
pipenv shell
Verlasse die Pipenv-Shell:
exit
Um die gesamte virtuelle Umgebung zu entfernen und alle Pakete zu deinstallieren, verwende:
pipenv --rm
Pipfile: Enthält die Paketnamen und die Versionen, die das Projekt benötigt. Es unterscheidet zwischen Produktions- und Entwicklungsabhängigkeiten.
Pipfile.lock: Sperrt die exakten Paketversionen, um die Konsistenz in verschiedenen Umgebungen zu gewährleisten. Diese Datei wird bei jeder Änderung der Abhängigkeiten automatisch aktualisiert.
Um ein Paket zu aktualisieren, das in der Pipfile angegeben ist, führe diesen Befehl aus:
pipenv update <paketname>
Um alle Pakete zu aktualisieren, verwende:
pipenv update
Um ein Paket aus der virtuellen Umgebung zu entfernen, nutze:
pipenv uninstall <paketname>
Um alle Pakete zu entfernen und die Pipfile
zu leeren, verwende:
pipenv uninstall --all
Pipenv ermöglicht es, die installierten Abhängigkeiten auf bekannte Sicherheitsprobleme zu überprüfen:
pipenv check
Wenn du die Umgebung auf einem anderen System neu erstellen möchtest, nutze den Befehl pipenv sync
. Dieser liest die Pipfile.lock
und installiert genau die in der Datei festgelegten Versionen:
pipenv sync
Der Befehl pipenv shell
dient dazu, die virtuelle Umgebung zu aktivieren, die Pipenv für dein Projekt erstellt hat. Wenn du pipenv shell
ausführst, öffnet sich eine neue Shell-Sitzung, in der alle Befehle im Kontext dieser virtuellen Umgebung ausgeführt werden. Dies hat mehrere praktische Vorteile:
Zugriff auf Projektabhängigkeiten: Alle in der Umgebung installierten Pakete (wie im Pipfile
definiert) sind verfügbar, ohne dass du vor jedem Befehl pipenv run
angeben musst.
Isolierte Entwicklung: Durch das Aktivieren der Shell wird dein Projekt von der globalen Python-Umgebung getrennt, wodurch Konflikte zwischen Projekten vermieden werden, die möglicherweise unterschiedliche Paketversionen benötigen.
Umgebungsspezifische Variablen: pipenv shell
setzt Umgebungsvariablen, die speziell für die virtuelle Umgebung gelten, was die Verwaltung von Konfigurationen für verschiedene Umgebungen (z. B. Entwicklung und Produktion) vereinfacht.
Erstelle eine Pipenv-Umgebung und installiere ein Paket:
pipenv install requests
Aktiviere die Umgebung mit pipenv shell
:
pipenv shell
Jetzt kannst du alle Pakete in der Umgebung (z. B. requests
) verwenden, ohne pipenv run
vor jeden Befehl setzen zu müssen:
python -c "import requests; print(requests.__version__)"
Um die virtuelle Umgebung zu verlassen, gib Folgendes ein:
exit
Erstelle das Projektverzeichnis und wechsle dorthin:
mkdir mein_projekt cd mein_projekt
Initialisiere eine neue Pipenv-Umgebung und installiere eine Produktionsabhängigkeit (z.B. requests
):
pipenv install requests
Installiere eine Entwicklungsabhängigkeit (z.B. flake8
für Code-Style-Checks):
pipenv install flake8 --dev
Erstelle eine Python-Datei, z.B. main.py
, die die Abhängigkeiten verwendet:
# main.py import requests response = requests.get("https://jsonplaceholder.typicode.com/todos/1") print(response.json())
Führe das Skript in der Pipenv-Umgebung aus:
pipenv run python main.py
Führe einen Sicherheitscheck durch:
pipenv check
Deaktiviere die Umgebung:
exit