Python-Projekte scheitern im Betrieb häufig an schleichend veränderten Umgebungen, unklaren requirements-Dateien oder voneinander abweichenden Interpreterständen. Das Seminar schafft eine belastbare Struktur für Projektabhängigkeiten und zeigt, welche Rolle pip und uv in unterschiedlichen Arbeitsweisen übernehmen. Ein bestehendes Projekt wird schrittweise in eine deklarierte, kontrollierbar aktualisierte Umgebung überführt.
Behandelt werden pyproject.toml, virtuelle Umgebungen, Dependency Groups, Extras und plattformabhängige Anforderungen. Für uv werden Locking und Synchronisierung praktisch umgesetzt; bestehende pip-Abläufe werden mit festgelegten Versionen und Hash-Prüfung eingeordnet. Unterschiedliche Suchstrategien bei mehreren Paketindizes werden bewusst berücksichtigt. Wheels, Source Distributions und Build-Abhängigkeiten werden untersucht, damit reproduzierbare Paketauflösung nicht mit identischen Binärartefakten auf unterschiedlichen Plattformen verwechselt wird.
Inhaltsverzeichnis
- Projektmodell und Umgebung
- Auflösung und Locking
- Paketquellen und Integrität
- Build und Bereitstellung
Lernziele
- Projektanforderungen, optionale Funktionen und Entwicklungsabhängigkeiten sinnvoll deklarieren.
- uv-Lockfiles erzeugen und Änderungen kontrolliert in die CI übernehmen.
- Private Indizes sicher zuordnen und Unterschiede zwischen pip- und uv-Auflösung beachten.
- Plattform-, Interpreter- und Build-Abhängigkeiten bei Installation und Update diagnostizieren.
Zielgruppe
Python-Entwickler, Data Engineers, Automatisierungsentwickler und DevOps-Verantwortliche
Voraussetzungen
Praktische Python-Kenntnisse, Erfahrung mit pip und virtuellen Umgebungen sowie grundlegende Git-Kenntnisse
1. Projektmodell und Umgebung
- pyproject.toml, Anforderungen, Constraints, Extras und Dependency Groups auseinanderhalten und auf einen konkreten Projektbedarf anwenden.
- Interpreter und virtuelle Umgebung festlegen; pip freeze als Abbild einer Umgebung und nicht automatisch als kuratierte Projektdefinition bewerten.
2. Auflösung und Locking
- uv add, uv lock und uv sync einsetzen; gesperrte Paketstände mit einer aktuellen Projektdeklaration konsistent halten.
- uv sync --locked für die CI verwenden; den Unterschied zu --frozen nachvollziehen; gezielte Updates und Lockfile-Reviews üben.
3. Paketquellen und Integrität
- Private Indizes und explizite Quellenzuordnung einrichten; abweichendes Verhalten von pip bei zusätzlichen Indizes berücksichtigen.
- Festgelegte Anforderungen mit Hash-Prüfung verwenden; Zugangsdaten getrennt halten und interne Pakete vor unbeabsichtigter öffentlicher Veröffentlichung schützen.
4. Build und Bereitstellung
- Wheels, Source Distributions, Build-Backends und Build-Abhängigkeiten unterscheiden; Betriebssystem und Prozessorarchitektur einbeziehen.
- Eine bereinigte Testumgebung erzeugen, Abhängigkeiten prüfen und eine kontrollierte Aktualisierung durch die Pipeline führen.
Praxisübungen
- Die bestehende Beispielumgebung erfassen und tatsächlich benötigte Projektabhängigkeiten von zufällig installierten Werkzeugen trennen.
- Eine Projektdeklaration mit Entwicklungsgruppe anlegen und einen konsistenten Paketstand sperren.
- Die Umgebung neu aufbauen und eine absichtliche Inkonsistenz im Modus --locked erkennen.
- Ein internes Paket einer vorbereiteten privaten Quelle zuordnen und einen Plattformkonflikt anhand der Paketmetadaten untersuchen.
- Eine einzelne Bibliothek aktualisieren, Tests ausführen und den geprüften Lockfile-Stand in die CI übernehmen.
Technische Voraussetzungen
Vorbereitete Python-Interpreter, pip und uv, Git, Editor, Beispielprojekt, privater Übungsindex und CI-Runner. Ein zusätzlicher Plattformfall liegt als vorbereitete Diagnoseaufgabe vor.
Fachliche Ansprechpartner
-

Lucas Beich
Telefon: + 49 (221) 74740055
E-Mail: lucas.beich@seminar-experts.de -

Paul Goldschmidt
Telefon: + 49 (221) 74740055
E-Mail: paul.goldschmidt@seminar-experts.de
Seminardetails
| Dauer: | 2 Tage ca. 6 h/Tag, Beginn 1. Tag: 10:00 Uhr, weitere Tage 09:00 Uhr |
|---|---|
| Preis: |
Öffentlich oder Live Stream: € 1.198 zzgl. MwSt. Inhaus: € 3.400 zzgl. MwSt. |
| Teilnehmeranzahl: | min. 2 - max. 8 |
| Teilnehmer: | Python-Entwickler, Data Engineers, Automatisierungsentwickler und DevOps-Verantwortliche |
| Voraussetzungen: | Praktische Python-Kenntnisse, Erfahrung mit pip und virtuellen Umgebungen sowie grundlegende Git-Kenntnisse |
| Standorte: | Stream Live, Inhaus/Firmenseminar, Berlin, Bremen, Darmstadt, Dresden, Erfurt, Essen, Flensburg, Frankfurt, Freiburg, Friedrichshafen, Hamburg, Hamm, Hannover, Jena, Kassel, Köln, Konstanz, Leipzig, Luxemburg, Magdeburg, Mainz, München, Münster, Nürnberg, Paderborn, Potsdam, Regensburg, Rostock, Stuttgart, Trier, Ulm, Wuppertal, Würzburg |
| Methoden: | Vortrag, Demonstrationen, praktische Übungen am System |
| Seminararten: | Öffentlich, Webinar, Inhaus, Workshop - Alle Seminare mit Trainer vor Ort, Webinar nur wenn ausdrücklich gewünscht |
| Durchführungsgarantie: | ja, ab 2 Teilnehmern |
| Sprache: | Deutsch - bei Firmenseminaren ist auch Englisch möglich |
| Seminarunterlage: | Dokumentation auf Datenträger oder als Download |
| Teilnahmezertifikat: | ja, selbstverständlich |
| Verpflegung: | Kalt- / Warmgetränke, Mittagessen (wahlweise vegetarisch) |
| Support: | 3 Anrufe im Seminarpreis enthalten |
| Barrierefreier Zugang: | an den meisten Standorten verfügbar |
| Weitere Informationen unter + 49 (221) 74740055 |
Seminartermine
Die Ergebnissliste kann durch Anklicken der Überschrift neu sortiert werden.
