Leitfaden zur Python-Versionverwaltung: pyenv, venv, Anaconda

目次

1. Einführung

Python ist eine beliebte Programmiersprache, die von einer breiten Palette von Nutzern verwendet wird, von Anfängern bis hin zu Profis. Allerdings werden Python-Versionen häufig aktualisiert, weshalb viele Menschen es herausfordernd finden, Entwicklungsumgebungen zu warten und Versionen über verschiedene Projekte hinweg zu verwalten.

Dieser Artikel erklärt, warum die Python-Versionverwaltung wichtig ist und wie Versionen detailliert verwaltet werden können. Er behandelt auch, wie Versionsverwaltungstools ausgewählt werden können, und bietet konkrete Verwendungsbeispiele, sodass Sie sich darauf beziehen können, wenn Sie Python effizienter nutzen möchten.

1-1. Warum die Python-Versionverwaltung wichtig ist

Um zu verstehen, warum die Python-Versionverwaltung wichtig ist, betrachten Sie die folgenden Szenarien.

1-1-1. Verschiedene Projekte können unterschiedliche Python-Versionen erfordern

Bei der Entwicklung von Unternehmenssystemen und individuellen Programmierprojekten können aufgrund der verwendeten Bibliotheken oder Frameworks bestimmte Python-Versionen erforderlich sein. Zum Beispiel:

  • Django 2.2 supports Python 3.5 to 3.8
  • TensorFlow 1.x supports Python 2.7 or 3.5
  • TensorFlow 2.x requires Python 3.6 or higher

Da verschiedene Tools unterschiedliche Python-Versionen empfehlen, kann das Fehlen einer ordnungsgemäßen Umgebungsverwaltung dazu führen, dass Bibliotheken nicht mehr funktionieren.

1-1-2. Das direkte Ändern der systeminstallierten Python kann Probleme verursachen

Windows, macOS und Linux können Python als Teil des Systems installiert haben. Besonders unter Linux hängen einige OS-Funktionen von Python ab, sodass das Ändern der System-Python-Version zu unerwarteten Fehlern führen kann.

Wenn Sie die System-Python durch die Installation einer anderen Version ohne Verwendung eines Versionsmanagers überschreiben, kann dies das Verhalten des Betriebssystems beeinträchtigen, weshalb eine ordnungsgemäße Verwaltung notwendig ist.

1-1-3. Die Standardisierung von Entwicklungsumgebungen macht die Team-Entwicklung reibungsloser

Bei der Team-Entwicklung ist es wünschenswert, dass alle Mitglieder in derselben Umgebung arbeiten. Wenn die Python-Version eines Projekts unterschiedlich ist, kann das Verhalten je nach Entwickler variieren und zu Fehlern führen.

Die Verwendung von Versionsverwaltungstools ermöglicht es allen, eine einheitliche Umgebung zu nutzen, was die Entwicklungseffizienz verbessert.

1-2. Wie Python-Versionen verwaltet werden

Es gibt mehrere Möglichkeiten, Python-Versionen zu verwalten. Die wichtigsten Tools umfassen die folgenden.

1-2-1. pyenv

Das am weitesten verwendete Python-Versionsverwaltungstool ist pyenv. Es ermöglicht Ihnen, einfach zwischen verschiedenen Python-Versionen zu wechseln und mehrere Versionen zu verwalten, ohne die System-Python zu beeinträchtigen.

1-2-2. venv

Ein virtuelles Umgebungstool, das als Teil der Python-Standardbibliothek bereitgestellt wird und isolierte Umgebungen pro Projekt erstellt. Es unterscheidet sich leicht von der Versionsverwaltung, ist aber nützlich, wenn Umgebungen erstellt werden, die von einer bestimmten Python-Version abhängen.

1-2-3. Anaconda

Ein Tool zur Verwaltung von Python-Umgebungen für Data Science und Machine Learning, das das Paketverwaltungssystem namens „conda“ verwendet, um Python-Versionen zu verwalten.

1-2-4. asdf

Ein Tool, das Versionen für mehrere Programmiersprachen verwalten kann, nicht nur für Python, wie z. B. Node.js und Ruby. Da Sie Python-Versionen pro Projekt wechseln können, ist es einfacher, Konsistenz in Entwicklungsumgebungen zu wahren.

1-3. Zusammenfassung

Die Python-Versionverwaltung ist ein wichtiger Faktor, der die Entwicklungseffizienz und Systemstabilität stark beeinflusst. Besonders für Entwickler, die an mehreren Projekten gleichzeitig arbeiten, oder Nutzer, die verschiedene Python-Versionen ausprobieren möchten, ist die Verwendung des richtigen Verwaltungstools unerlässlich.

Der nächste Abschnitt behandelt detailliert, wie Ihre Python-Version überprüft werden kann. Indem Sie wissen, welche Python-Versionen in Ihrer Umgebung installiert sind, sind Sie vorbereitet, um Versionen reibungslos zu verwalten.

2. Wie überprüft man die Python-Version

Bevor man Python-Versionen verwaltet, ist es wichtig zu verstehen, wie man die derzeit verwendete Python-Version überprüft. Wenn Sie die richtige Version nicht kennen, kann Ihr Code in einer unerwarteten Umgebung ausgeführt werden und Probleme verursachen.

Dieser Abschnitt erklärt, wie man die Python-Version unter Windows, macOS und Linux überprüft.

2-1. Wie überprüft man die Python-Version unter Windows

Unter Windows können Sie die Python-Version mit der Eingabeaufforderung (cmd) oder PowerShell überprüfen.

2-1-1. Wie überprüft man mit der Eingabeaufforderung

  1. Drücken Sie die [Win]-Taste + [R]-Taste, geben Sie ‚cmd‘ ein und öffnen Sie die Eingabeaufforderung.
  2. Geben Sie den folgenden Befehl ein und drücken Sie Enter.
   python --version

oder

   python -V
  1. Die aktuelle Python-Version wird auf dem Bildschirm angezeigt.
   Python 3.10.4

2-1-2. Wie überprüft man mit PowerShell

Die grundlegenden Schritte sind bei der Verwendung von PowerShell dieselben.

  1. Öffnen Sie das Startmenü, suchen Sie nach ‚PowerShell‘ und starten Sie PowerShell.
  2. Geben Sie den folgenden Befehl ein und drücken Sie Enter.
   python --version
  1. Die Python-Version wird auf dem Bildschirm angezeigt.

Hinweise:

  • Je nach Installationsort von Python müssen Sie möglicherweise python3 anstelle von python verwenden.
  • Wenn der Befehl nicht erkannt wird, überprüfen Sie, ob Ihre Umgebungsvariablen korrekt konfiguriert sind.

2-2. Wie überprüft man die Python-Version unter macOS

Unter macOS ist Python oft standardmäßig installiert, sodass Sie das Terminal verwenden können, um die Version zu überprüfen.

2-2-1. Wie überprüft man mit dem Terminal

  1. Drücken Sie [Command] + [Space], geben Sie ‚Terminal‘ ein und öffnen Sie das Terminal.
  2. Geben Sie den folgenden Befehl ein.
   python3 --version

oder

   python3 -V
  1. Das Ergebnis wird angezeigt.
   Python 3.9.7

2-2-2. Beachten Sie den Unterschied zwischen Python 2 und Python 3

Unter macOS kann der Befehl python mit Python 2.x verknüpft sein. Bei der Verwendung von Python 3.x ist es üblich, den Befehl python3 zu verwenden.

python --version  # Kann Python 2.x anzeigen
python3 --version  # Zeigt die Python 3.x-Version an

Hinweise:

  • In neueren Versionen von macOS (Big Sur und später) ist Python 2.x veraltet und Python 3.x wird standardmäßig verwendet.

2-3. Wie überprüft man die Python-Version unter Linux

Unter Linux sind viele Distributionen (Ubuntu, Debian, CentOS, Fedora usw.) mit Python vorinstalliert. Verwenden Sie das Terminal, um die Version zu überprüfen.

2-3-1. Wie überprüft man mit dem Terminal

  1. Öffnen Sie ein Terminal und führen Sie den folgenden Befehl aus.
   python3 --version

oder

   python3 -V
  1. Die Ausgabe sieht so aus.
   Python 3.8.10

2-3-2. Wie überprüft man, ob Python 2 installiert ist

Auf einigen älteren Systemen kann Python 2.x noch vorhanden sein. Sie können es mit dem folgenden Befehl überprüfen.

python --version

Wenn dieser Befehl Python 2.x.x anzeigt, könnte Python 2.x die Standardeinstellung sein.

2-3-3. Wenn Python nicht installiert ist

Wenn die Ausführung von python3 --version zu einem Fehler wie ‚Command ‚python3′ not found‘ führt, ist Python möglicherweise nicht installiert. In diesem Fall können Sie es mit den folgenden Befehlen installieren.

Ubuntu/Debian:

sudo apt update
sudo apt install python3

CentOS/RHEL:

sudo yum install python3

Fedora:

sudo dnf install python3

2-4. Zusammenfassung

Die Methode zur Überprüfung der Python-Version unterscheidet sich leicht zwischen Windows, macOS und Linux, aber im Allgemeinen verwenden Sie die Befehle python --version oder python3 --version.

  • Windows→ In der Eingabeaufforderung (cmd) oder PowerShell verwenden Sie python --version
  • macOS→ Im Terminal verwenden Sie python3 --version
  • Linux→ Im Terminal verwenden Sie python3 --version; wenn Python 2 vorhanden ist, überprüfen Sie auch python --version

Um Versionen ordnungsgemäß zu verwalten, ist es wichtig, zunächst Ihre aktuelle Umgebung genau zu verstehen. Der nächste Abschnitt erklärt, wie man Python-Version-Management-Tools auswählt und deren Funktionen detailliert beschreibt.

侍エンジニア塾

3. Wie wählt man ein Tool zur Verwaltung von Python-Versionen aus

Die Verwendung eines speziellen Tools ist der effizienteste Weg, um Python-Versionen ordnungsgemäß zu verwalten. Allerdings gibt es verschiedene Version-Management-Tools, sodass Sie möglicherweise unsicher sind, welches Sie wählen sollen.

Dieser Abschnitt stellt repräsentative Tools für die Python-Version-Verwaltung vor und erklärt ihre Funktionen und geeigneten Anwendungsfälle.

3-1. Arten von Python-Version-Management-Tools

Python-Version-Management-Tools umfassen die folgenden Typen.

ToolHauptverwendung / MerkmaleUnterstützte BetriebssystemeBedienfreundlichkeit
pyenvLeicht zwischen verschiedenen Python-Versionen wechselnWindows, macOS, Linux
venvPythons integrierte Funktion für virtuelle Umgebungen. Ermöglicht die Erstellung von Umgebungen pro ProjektAlle Betriebssysteme
Anaconda(conda)Umgebungsverwaltung für Data Science und Machine LearningWindows, macOS, Linux
asdfKann Versionen mehrerer Programmiersprachen verwaltenWindows, macOS, Linux

Jedes Tool hat Vor- und Nachteile, daher ist es wichtig, das richtige für Ihre Bedürfnisse auszuwählen.

3-2. pyenv (Am besten für Python-Version-Management)

3-2-1. Was ist pyenv?

pyenv ist ein Tool, das das Wechseln von Python-Versionen erleichtert.
Es ist nützlich, wenn Sie verschiedene Python-Versionen für spezifische Projekte oder Entwicklungsumgebungen benötigen.

3-2-2. Vorteile von pyenv

  • Ermöglicht das Koexistieren mehrerer Python-Versionen
  • Beeinflusst das System-Python nicht
  • Versionen mit einem einzigen Befehl wechseln
  • Verfügbar unter Windows, macOS und Linux

3-2-3. Empfohlen für

  • Möchten verschiedene Python-Versionen pro Projekt verwenden
  • Möchten Versionen leicht wechseln
  • Möchten die globale Python-Version nicht ändern

3-3. venv (Bei Verwendung virtueller Umgebungen)

3-3-1. Was ist venv?

venv ist das Standard-Tool von Python zur Erstellung virtueller Umgebungen. Sein Zweck ist nicht die Verwaltung der Python-Version selbst, sondern die Erstellung isolierter Umgebungen pro Projekt.

3-3-2. Vorteile von venv

  • Standardmäßig in Python enthalten; keine zusätzliche Installation erforderlich
  • Ermöglicht die Verwaltung unterschiedlicher Bibliotheken pro virtueller Umgebung
  • Kann Abhängigkeiten eines Projekts isolieren

3-3-3. Empfohlen für

  • Möchten Bibliotheksumgebungen pro Projekt trennen
  • Möchten Umgebungen ohne Installation neuer Tools verwalten
  • Möchten virtuelle Umgebungen verwenden statt Python-Versionen zu verwalten

3-4. Anaconda (Für Data Science und Machine Learning)

3-4-1. Was ist Anaconda?

Anaconda ist eine Python-Distribution, die für die Entwicklung in Data Science und Machine Learning optimiert ist. Es verwendet das Paketmanagement-Tool conda zur Verwaltung von Python-Versionen und Bibliotheken.

3-4-2. Vorteile von Anaconda

  • Enthält Data-Science-Bibliotheken (numpy, pandas, scikit-learn usw.)
  • Funktioniert gut mit Jupyter Notebook
  • Einfaches Paketmanagement (mit dem conda-Befehl)

3-4-3. Empfohlen für

  • Betreiben von Machine Learning oder Datenanalyse
  • Verwenden häufig Jupyter Notebook
  • Möchten Python-Umgebungen leicht einrichten

3-5. asdf (Multi-Sprach-Version-Manager)

3-5-1. Was ist asdf?

asdf ist ein Tool zur zentralen Verwaltung von Versionen mehrerer Programmiersprachen, nicht nur Python, wie Node.js, Ruby und Go.

3-5-2. Vorteile von asdf

  • Kann Sprachen außer Python an einem Ort verwalten
  • Kann verschiedene Versionen pro Projekt festlegen
  • Kann Python wechseln, ohne die globale Umgebung zu beeinflussen

3-5-3. Empfohlen für

  • Verwenden Programmiersprachen außer Python
  • Möchten Versionen pro Projekt flexibel wechseln
  • Möchten mehrere Entwicklungsumgebungen effizient verwalten

3-6. Welches Tool sollten Sie wählen?

Wählen Sie basierend auf den folgenden Kriterien das Version-Management-Tool, das am besten zu Ihnen passt.

Zweck / NutzungBestes Tool
Möchten leicht zwischen verschiedenen Python-Versionen wechselnpyenv
Möchten virtuelle Umgebungen verwendenvenv
Betreiben von Machine Learning oder DatenanalyseAnaconda
Möchten Sprachen außer Python an einem Ort verwaltenasdf

3-7. Zusammenfassung

Python-Version-Management-Tools haben unterschiedliche Eigenschaften. Welches Tool Sie wählen sollten, hängt vonwofür Sie Python verwenden werden ab.

  • Allgemeine Version-Verwaltungpyenv
  • Verwenden virtueller Umgebungenvenv
  • Data Science und Machine LearningAnaconda
  • Sprachen über Python hinaus verwaltenasdf

Der nächste Abschnitt erklärt „Verwendung virtueller Umgebungen“ im Detail. Er stellt vor, wie die Verwendung virtueller Umgebungen Ihnen ermöglicht, projektspezifische Abhängigkeiten ordnungsgemäß zu verwalten und die Konsistenz der Umgebung aufrechtzuerhalten.

4. Verwendung von virtuellen Umgebungen

Das Versionsmanagement von Python erfordert die Nutzung einer virtuellen Umgebung. Durch die Verwendung virtueller Umgebungen können Sie isolierte Umgebungen pro Projekt erstellen und verschiedene Bibliotheken sowie Python-Versionen koexistieren lassen.

Dieser Abschnitt erklärt die grundlegenden Konzepte virtueller Umgebungen und beschreibt detailliert, wie man die wichtigsten Tools (venv, Poetry) verwendet.

4-1. Was ist eine virtuelle Umgebung?

Eine virtuelle Umgebung ist ein Mechanismus, um eine Python-Laufzeitumgebung pro Projekt zu isolieren. Normalerweise werden Python-Pakete (Bibliotheken) systemweit installiert, aber durch die Verwendung virtueller Umgebungen können Sie unterschiedliche Pakete für jedes Projekt verwalten.

4-1-1. Vorteile der Verwendung virtueller Umgebungen

  • Verhindert Bibliotheks-Konflikte zwischen verschiedenen Projekten
  • Zum Beispiel, wenn Projekt A Django 3.2 benötigt und Projekt B Django 4.0, ermöglichen virtuelle Umgebungen ihr Koexistieren.
  • Entwickeln, ohne die System-Python-Umgebung zu verschmutzen
  • Sie können eine saubere Umgebung beibehalten, ohne die System-Python zu beeinflussen.
  • Erleichtert die Standardisierung von Umgebungen in der Team-Entwicklung
  • Durch die Verwendung virtueller Umgebungen und das Teilen von requirements.txt oder pyproject.toml können alle Teammitglieder dieselbe Umgebung erstellen.

4-2. Erstellen virtueller Umgebungen mit venv

Python enthält das venv-Tool in der Standardbibliothek zur Erstellung virtueller Umgebungen. Es ist keine zusätzliche Installation erforderlich, und Sie können es sofort verwenden.

4-2-1. So erstellen Sie eine virtuelle Umgebung

  1. Erstellen Sie ein Verzeichnis für das Projekt
   mkdir my_project
   cd my_project
  1. Erstellen Sie die virtuelle Umgebung
   python3 -m venv venv

Hier ist venv der Ordnername für die virtuelle Umgebung. Sie können jeden Namen wählen.

4-2-2. Aktivieren der virtuellen Umgebung

Das Aktivieren der virtuellen Umgebung ermöglicht die Nutzung von Python und den Bibliotheken, die spezifisch für diese Umgebung sind.Unter Windows:

venvScriptsctivate

Unter macOS/Linux:

source venv/bin/activate

Beim Aktivieren wird (venv) im Prompt angezeigt.

(venv) user@hostname:~/my_project$

4-2-3. Deaktivieren der virtuellen Umgebung

Um die virtuelle Umgebung zu deaktivieren, führen Sie den folgenden Befehl aus.

deactivate

4-2-4. Entfernen einer virtuellen Umgebung

Wenn Sie eine virtuelle Umgebung nicht mehr benötigen, können Sie den Ordner einfach löschen.macOS/Linux:

rm -rf venv

Windows:

rd /s /q venv

4-3. Verwalten von virtuellen Umgebungen und Abhängigkeiten mit Poetry

Zusätzlich zur Standard-venv-Bibliothek ist Poetry als Tool für fortgeschrittenes Paketmanagement ebenfalls beliebt.

4-3-1. Was ist Poetry?

Poetry ist ein Tool, das die Abhängigkeitsverwaltung und die Erstellung virtueller Umgebungen für Python-Projekte handhabt. Es bietet eine flexiblere Verwaltung als venv und eignet sich gut für die moderne Python-Entwicklung.

4-3-2. Installieren von Poetry

Um Poetry zu installieren, führen Sie den folgenden Befehl aus.

curl -sSL https://install.python-poetry.org | python3 -

Nach der Installation können Sie mit dem folgenden Befehl überprüfen.

poetry --version

4-3-3. Erstellen einer virtuellen Umgebung mit Poetry

Die Schritte zum Erstellen eines neuen Projekts mit Poetry und zum Einrichten einer virtuellen Umgebung sind wie folgt.

  1. Erstellen Sie den Projektordner
   mkdir poetry_project
   cd poetry_project
  1. Initialisieren Sie das Projekt mit Poetry
   poetry init
  • Geben Sie die Projektdaten interaktiv ein.
  • Eine Konfigurationsdatei namens pyproject.toml wird erstellt.
  1. Erstellen Sie die virtuelle Umgebung
   poetry install

Dies erstellt automatisch eine virtuelle Umgebung und installiert die erforderlichen Pakete.

  1. Aktivieren Sie die virtuelle Umgebung
   poetry shell
  1. Pakete hinzufügen und verwalten
   poetry add requests
   poetry add numpy@latest
  1. Deaktivieren Sie die virtuelle Umgebung
   exit

4-4. Vergleich von venv und Poetry

FunktionvenvPoetry
Python-Standardtool❌ (erfordert zusätzliche Installation)
Erstellt virtuelle Umgebungen
Abhängigkeitsverwaltung❌ (manuell verwaltet)✅ (automatische Verwaltung)
Paketverwaltungpip wird verwendetEinfach mit dem poetry add-Befehl verwaltet
Anfängerfreundlich△ (etwas Lernkurve)

Schlussfolgerung:

  • Für einfache virtuelle Umgebungen → venv
  • Für automatisierte Abhängigkeitsverwaltung → Poetry

4-5. Zusammenfassung

Die Verwendung virtueller Umgebungen macht die Paketverwaltung in Python effizient. Besonders wenn Sie unterschiedliche Bibliotheken pro Projekt handhaben oder die System-Python-Umgebung nicht verschmutzen möchten, ist die Nutzung von venv oder Poetry am besten.

  • venv→ Einfache Erstellung virtueller Umgebungen (Python-Standard)
  • Poetry→ Fortgeschrittenes Tool für virtuelle Umgebungen inklusive Abhängigkeitsverwaltung

Als Nächstes behandeln wir Best Practices für Versionskontrolle und Abhängigkeitsverwaltung. Lernen Sie, wie Sie Ihre Python-Entwicklungsumgebung effizienter betreiben.

RUNTEQ(ランテック)|超実戦型エンジニア育成スクール

5. Best Practices für die Verwaltung von Versionen und Abhängigkeiten

Mit dem Verständnis der Python-Versionsverwaltung und der Nutzung virtueller Umgebungen hier sindBest Practices, die in realen Entwicklungsumgebungen nützlich sind. Durch die Anwendung geeigneter Verwaltungsmethoden können Sie Umgebungschaos verhindern und Python-Projekte effizient ausführen.

5-1. Erstellen Sie eine virtuelle Umgebung pro Projekt

Um Python-Versionen ordnungsgemäß zu verwalten,gilt die Grundregel, für jedes Projekt eine virtuelle Umgebung zu erstellen.
Die Verwendung des System-Python wie es ist, erleichtert das Auftreten von Bibliotheks-Konflikten und Umgebungskontamination.

5-1-1. Empfohlene Best Practices für die Verwaltung virtueller Umgebungen

  1. Erstellen Sie eine virtuelle Umgebung für jedes Projekt
   python3 -m venv venv
  1. Aktivieren Sie die virtuelle Umgebung
   source venv/bin/activate  # macOS/Linux
   venvScriptsctivate  # Windows
  1. Installieren Sie Bibliotheken
   pip install requests pandas

Schlüsselpunkte:

  • Das Erstellen virtueller Umgebungen verhindert Interferenzen mit Bibliotheken aus anderen Projekten.
  • Es erleichtert die Reproduktion einer konsistenten Umgebung in der Team-Entwicklung.

5-2. Klären und Verwalten von Abhängigkeiten

Beim Teilen eines Projekts oder beim Wiederaufbau der Umgebung in der Zukunft ist es wichtig, Abhängigkeiten (die Liste der installierten Bibliotheken) explizit zu verwalten.

5-2-1. Verwenden Sie requirements.txt

In Python können Sie den pip freeze-Befehl verwenden, um die Liste der derzeit installierten Bibliotheken in requirements.txt zu speichern.

  1. Notieren Sie die Bibliotheken in der aktuellen Umgebung
   pip freeze > requirements.txt
  1. Installieren Sie dieselben Bibliotheken in einer anderen Umgebung neu
   pip install -r requirements.txt

Vorteile:

  • Teilen Sie leicht dieselbe Umgebung mit Teammitgliedern.
  • Reproduzieren Sie schnell eine konsistente Bibliothekskonfiguration in einer neuen Umgebung.

5-2-2. Verwenden Sie pyproject.toml (bei Verwendung von Poetry)

Wenn Sie Poetry verwenden, wird empfohlen, Abhängigkeiten in pyproject.toml aufzulisten.

  1. Fügen Sie Pakete hinzu
   poetry add numpy pandas
  1. Überprüfen Sie die Abhängigkeitsdateien
   pyproject.toml
   poetry.lock

Vorteile:

  • Sie können Abhängigkeiten knapper verwalten als mit pip freeze.
  • Einfacher, Versionen zu fixieren, was die Reproduzierbarkeit der Umgebung verbessert.

5-3. Verwalten Sie Entwicklungsumgebungen und Produktionsumgebungen getrennt

Entwicklungsumgebungen und Produktionsumgebungen können unterschiedliche Bibliotheksversionen und Einstellungen verwenden. Daher ist es Best Practice, Bibliotheken, die nur für die Entwicklung verwendet werden, klar von denen zu trennen, die in der Produktion benötigt werden.

5-3-1. Bereiten Sie eine requirements-dev.txt vor

Das Trennen von Bibliotheken, die nur in der Entwicklungsumgebung benötigt werden (z. B. Test- und Formatierungstools wie pytest und black), hält die Produktionsumgebung einfach.Beispiel:

pip freeze > requirements-dev.txt

In der Produktion verwenden Sie nur die grundlegende requirements.txt, und in der Entwicklung kombinieren Sie sie mit requirements-dev.txt für eine einfachere Verwaltung.

5-4. Standardisieren von Umgebungen in der Team-Entwicklung

In der Team-Entwicklung ist es wichtig, die Umgebung jedes Mitglieds zu standardisieren.
Hier sind Punkte, um Versionen ordnungsgemäß zu verwalten, damit das Projekt reibungslos voranschreitet.

5-4-1. Standardisieren Sie die Python-Version

  • Verwenden Sie pyenv, um sicherzustellen, dass das Team eine einheitliche Python-Version verwendet.
  • Erstellen Sie eine .python-version-Datei im Projektstammverzeichnis, um die Python-Version zu fixieren.

Beispiel:

echo "3.10.4" > .python-version

5-4-2. Verwenden Sie .venv

Wenn das Team venv verwendet, erleichtert das Erstellen der virtuellen Umgebung in einem versteckten Ordner namens .venv anstelle eines venv-Verzeichnisses die Git-Verwaltung.Beispiel:

python3 -m venv .venv

Fügen Sie dann .venv/ zu .gitignore hinzu, damit der Ordner der virtuellen Umgebung nicht im Repository enthalten ist – das ist Best Practice.

5-5. Häufige Probleme und Lösungen

5-5-1. Mit pyenv installiertes Python wird nicht erkannt

Lösung:Führen Sie pyenv init aus und wenden Sie es auf Ihre Shell an.

pyenv init

Stellen Sie auch sicher, dass die PATH-Umgebungsvariable ordnungsgemäß gesetzt ist.

5-5-2. venv-Virtuelle Umgebung wird nicht aktiviert

Lösung:Auf Windows müssen Sie möglicherweise die Ausführungsrichtlinie von PowerShell ändern.

Set-ExecutionPolicy Unrestricted -Scope Process

5-5-3. Kann nach pip install nicht importieren

Lösung:Überprüfen Sie, ob die virtuelle Umgebung aktiviert ist.

which python
which pip

Falls die Ausgabe-Pfade nicht auf die virtuelle Umgebung hinweisen, aktivieren Sie sie mit source venv/bin/activate.

5-6. Zusammenfassung

Durch die ordnungsgemäße Verwaltung von Python-Versionen und Abhängigkeiten können Sie die Entwicklungseffizienz verbessern und Umgebungsprobleme minimieren.

Schlüssel-Best Practices

  1. Erstellen Sie eine virtuelle Umgebung für jedes Projekt
  2. Verwalten Sie Abhängigkeiten mit requirements.txt oder pyproject.toml
  3. Verwalten Sie Entwicklungsumgebungen und Produktionsumgebungen getrennt
  4. In der Team-Entwicklung standardisieren Sie die Python-Version, um Umgebungsunterschiede zu eliminieren

6. FAQ (Häufig gestellte Fragen)

Das Verwalten von Python-Versionen und die Nutzung virtueller Umgebungen ist ein Bereich, der bei Neulingen und erfahrenen Nutzern oft Fragen aufwirft. Dieser Abschnitt beleuchtet häufige Fragen und liefert konkrete Antworten.

6-1. Kann ich mehrere Python-Versionen gleichzeitig verwenden?

Ja, das können Sie.pyenv oder asdf ermöglichen es, verschiedene Python-Versionen auf Ihrem System koexistieren zu lassen und die passende Version pro Projekt zu verwenden.

Lösung: pyenv verwenden

  1. Verschiedene Python-Versionen installieren
   pyenv install 3.9.7
   pyenv install 3.10.4
  1. Die Version global oder lokal (pro Projekt) festlegen
   pyenv global 3.10.4  # Standard-Python für das gesamte System festlegen
   pyenv local 3.9.7  # Python 3.9.7 in einem bestimmten Projektordner verwenden

Tipp:Die Verwendung von pyenv ermöglicht es, mehrere Versionen zu verwalten, ohne das System-Python zu ändern.

6-2. Wie lösche ich eine virtuelle Umgebung?

Sie können einfach das Verzeichnis für die virtuelle Umgebung löschen.

Bei Verwendung von venv

rm -rf venv  # macOS/Linux
rd /s /q venv  # Windows

Entfernen einer Poetry-virtuellen Umgebung

poetry env remove python

Tipp:Selbst wenn Sie eine virtuelle Umgebung löschen, ist es einfach, sie neu zu erstellen, wenn Sie eine requirements.txt oder pyproject.toml haben.

6-3. Wie verwende ich eine andere Python-Version für ein bestimmtes Projekt?

Die Verwendung von pyenv oder venv ist der übliche Ansatz.

Mit pyenv

  1. Die Python-Version im Projektordner angeben
   pyenv local 3.8.10
  1. Überprüfen
   python --version
   Python 3.8.10

Mit venv

  1. Virtuelle Umgebungen mit verschiedenen Python-Versionen für jedes Projekt erstellen
   python3.8 -m venv venv38
   python3.10 -m venv venv310
  1. Die Umgebung aktivieren, die Sie verwenden möchten
   source venv38/bin/activate  # Python 3.8-Umgebung

Tipp:pyenv ist ideal zum Wechseln von Versionen, während venv für die Umgebungsverwaltung pro Projekt geeignet ist.

6-4. Wie wähle ich ein Versionsverwaltungstool aus?

KriterienEmpfohlenes Tool
Mehrere Python-Versionen verwalten müssenpyenv
Einfache virtuelle Umgebungen erstellen möchtenvenv
Eine Umgebung für Data Science/Machine Learning einrichten möchtenAnaconda
Versionen anderer Sprachen als Python verwalten möchtenasdf

Tipp:Die Auswahl des richtigen Tools für Ihren Zweck erleichtert die Umgebungsverwaltung.

6-5. Änderungen von pyenv werden nicht widergespiegelt, wenn python --version ausgeführt wird

Dieses Problem kann daran liegen, dass Ihre Shell nicht richtig konfiguriert ist.

Lösung

  1. Den Initialisierungsbefehl von pyenv ausführen
   pyenv init
  1. Fügen Sie die folgenden Zeilen zu .bashrc oder .zshrc hinzu (Sie können auch ~/.bash_profile verwenden)
   export PATH="$HOME/.pyenv/bin:$PATH"
   eval "$(pyenv init --path)"
   eval "$(pyenv virtualenv-init -)"
  1. Die Änderungen anwenden
   source ~/.bashrc  # oder source ~/.zshrc

Tipp:Stellen Sie sicher, dass pyenv richtig in Ihre Shell-Konfiguration integriert ist.

6-6. Welches sollte ich verwenden: venv oder Poetry?

PunktvenvPoetry
Python-Standardtool❌ (separate Installation erforderlich)
Erstellen virtueller Umgebungen
Abhängigkeitsverwaltung❌ (manuelle Verwaltung)✅ (automatische Verwaltung)
Anfängerfreundlich△ (etwas Lernkurve)

Schlussfolgerung:

  • Wenn Sie eine einfache virtuelle Umgebung benötigen, verwenden Sie venv
  • Wenn Sie automatische Abhängigkeitsverwaltung möchten, verwenden Sie Poetry

Tipp:Poetry hat eine etwas steile Lernkurve, ist aber langfristig nützlich.

6-7. Wie pinne ich Bibliotheken, die mit pip install installiert wurden, an ein Projekt?

Verwenden Sie pip freeze, um eine requirements.txt zu erstellen.

pip freeze > requirements.txt

Dann, um in einer anderen Umgebung zu installieren, verwenden Sie den folgenden Befehl.

pip install -r requirements.txt

Tipp:Die Verwendung von pip freeze hilft, die Reproduzierbarkeit der Umgebung zu gewährleisten.

6-8. Zusammenfassung

Dieser Abschnitt hat häufige Fragen zur Python-Versionsverwaltung und zu virtuellen Umgebungen beantwortet.

Schlüsselstellen

  • Wenn Sie mehrere Python-Versionen verwalten müssen, verwenden Sie pyenv
  • Für virtuelle Umgebungen pro Projekt verwenden Sie venv oder Poetry
  • Um Abhängigkeiten zu pinnen, verwenden Sie requirements.txt oder pyproject.toml
  • Unter Windows verwenden Sie pyenv-win und überprüfen Sie Ihre Umgebungsvariableneinstellungen

Dies sollte Ihr Verständnis der Python-Versionsverwaltung vertiefen und Ihnen helfen, Entwicklungsumgebungen reibungsloser einzurichten.