Python Tools

Verwaltung von Python-Paketen mit Pipenv

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.


3 Minuten Lesezeit
30 Okt 2024
Verwaltung von Python-Paketen mit Pipenv

Was ist Pipenv?

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.

Vorteile von Pipenv

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.


Installation von Pipenv

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

Verwendung von Pipenv

1. Erstellen eines neuen Projekts mit Pipenv

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.


2. Installieren von Paketen

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.


3. Pipenv-Befehle zur Verwaltung der virtuellen Umgebung

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

4. Pipenv-Dateien: Pipfile und Pipfile.lock

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.


Paketverwaltung in Pipenv

1. Aktualisieren von Paketen

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

2. Deinstallieren von Paketen

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

3. Sicherheitsüberprüfung von Abhängigkeiten

Pipenv ermöglicht es, die installierten Abhängigkeiten auf bekannte Sicherheitsprobleme zu überprüfen:

pipenv check

Reproduzieren von Umgebungen mit Pipenv

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

Pipenv Shell

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.

Beispiel Workflow

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

Beispiel für ein komplettes Projekt-Setup

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

Online- und Präsenzkurse zum Thema

Finden Sie interessante und zum Thema passende Kurse

Django Intensiv Schulung

Lernen Sie Django in nur 5 Tagen mit diesem umfassenden Intensivkurs! Vom Einstieg in die Entwicklung Ihrer ersten Webanwendung bis hin zu fortgeschrittenen Themen wie API-Entwicklung und Testing – dieser Kurs deckt alles ab. Perfekt für Entwickler, die schnell produktiv mit Django arbeiten möchten.

5 Tage Vollzeit Online

Nächster Termin: 6. Januar 2025
Preis pro Person: 1600,00 EUR

Rabattaktion: 3 für den Preis von 2!

Python Einführungskurs

Beginnen Sie Ihre Programmierkarriere mit unserem Python-Einführungskurs. Erlernen Sie grundlegende Konzepte wie Variablen, Schleifen und Datenstrukturen und bauen Sie eine solide Basis in Python auf. Durch praxisnahe Projekte und kompetente Anleitung entwickeln Sie wertvolle Programmierfähigkeiten.

5 Tage Vollzeit auch als Feierabendkurs Online

Nächster Termin: 9. Dezember 2024
Preis pro Person: 1600,00 EUR

Rabattaktion: 3 für den Preis von 2!

Schulung Python für Fortgeschrittene

Diese Schulung „Python für Fortgeschrittene“ vertieft fortgeschrittene Programmiertechniken in Python, wie objektorientierte Programmierung, funktionale Programmierung und Persistenz. Die Teilnehmer lernen, wie sie komplexe Designs und Muster in Python umsetzen, effiziente Datenverarbeitung durchführen und wissenschaftliche Python-Bibliotheken nutzen können. Die Schulung bietet zudem praxisnahe Einblicke in Datenbanken, Metaklassen, Caching und maschinelles Lernen mit scikit-learn.

5 Tage Vollzeit Online

Nächster Termin: 23. Dezember 2024
Preis pro Person: 1900,00 EUR

Rabattaktion: 3 für den Preis von 2!

REST Api entwicklen mit Django

In diesem intensiven 5-Tage-Seminar lernen Entwickler, professionelle REST-APIs mit dem Django REST Framework zu erstellen, zu optimieren und zu testen.

5 Tage Vollzeit Online

Nächster Termin: 27. Januar 2025
Preis pro Person: 1600,00 EUR

Rabattaktion: 3 für den Preis von 2!