Beim Lernen von Python konzentrieren sich viele Anfänger ausschließlich auf die Sprache und ihre Bibliotheken und ignorieren gleichzeitig virtuelle Umgebungen. Infolgedessen kann das Verwalten von Python -Projekten zu einem Chaos werden: Abhängigkeiten, die für verschiedene Projekte installiert sind, können widersprüchliche Versionen aufweisen, was zu Kompatibilitätsproblemen führt.
Selbst als ich Python studierte, betonte niemand die Bedeutung virtueller Umgebungen, die ich jetzt sehr seltsam finde. Sie sind ein äußerst nützliches Instrument, um verschiedene Projekte voneinander zu isolieren.
In diesem Artikel werde ich erklären, wie virtuelle Umgebungen funktionieren, mehrere Beispiele angeben und nützliche Befehle für die Verwaltung teilen.
Downside
Stellen Sie sich vor, Sie haben zwei Python -Projekte auf Ihrem Laptop computer, die jeweils in einem anderen Verzeichnis liegen. Sie erkennen, dass Sie die neueste Model von Library A für das erste Projekt installieren müssen. Später wechseln Sie zum zweiten Projekt und versuchen, Bibliothek B. zu installieren. B.
Hier ist das Downside: Bibliothek B hängt von der Bibliothek A ab, erfordert jedoch eine andere Model als die, die Sie zuvor installiert haben.

Da Sie kein Werkzeug für verwendet haben AbhängigkeitsverwaltungAlle Abhängigkeiten werden weltweit auf Ihrem Laptop installiert. Aufgrund der inkompatiblen Versionen der Bibliothek A begegnen Sie einen Fehler, wenn Sie versuchen, Bibliothek B zu installieren. B.
Lösung
Um solche Probleme zu verhindern, werden virtuelle Umgebungen verwendet. Die Idee ist, für jeden einen separaten Speicherplatz zuzuweisen Python Projekt. Jeder Speicher enthält alle extern heruntergeladenen Abhängigkeiten für ein bestimmtes Projekt auf isolierte Weise.
Insbesondere wird die Bibliothek A zweimal heruntergeladen, wenn wir dieselbe Bibliothek A für zwei Projekte in ihren eigenen virtuellen Umgebungen herunterladen – einmal für jede Umgebung. Darüber hinaus können sich die Versionen der Bibliothek zwischen den Umgebungen unterscheiden, da jede Umgebung vollständig isoliert ist und nicht mit den anderen interagiert.
Nachdem die Motivation hinter der Verwendung virtueller Umgebungen klar ist, lassen Sie uns untersuchen, wie sie in Python erstellen können.
Virtuelle Umgebungen in Python
Es wird empfohlen, eine virtuelle Umgebung im Stammverzeichnis eines Projekts zu erstellen. Eine Umgebung wird mit dem folgenden Befehl im Terminal erstellt:
python -m venv <environment_name>
Nach Übereinkommen,
python -m venv venv
Infolgedessen erstellt dieser Befehl ein Verzeichnis namens Venvwas die virtuelle Umgebung selbst enthält. Es ist sogar möglich, in dieses Verzeichnis zu gehen, aber in den meisten Fällen ist es nicht sehr nützlich, wie die Venv Das Verzeichnis enthält hauptsächlich Systemskripte, die nicht direkt verwendet werden sollen.
Verwenden Sie den folgenden Befehl, um die virtuelle Umgebung zu aktivieren:
supply venv/bin/activate
Sobald die Umgebung aktiviert ist, können wir Abhängigkeiten für das Projekt installieren. Solange der Venv wird aktiviert, jede installierte Abhängigkeit gehört nur zu dieser Umgebung.
Um die virtuelle Umgebung zu deaktivieren, sort:
deactivate
Sobald die Umgebung deaktiviert ist, kehrt das Terminal in ihren normalen Zustand zurück. Sie können beispielsweise zu einem anderen Projekt wechseln und seine Umgebung dort aktivieren.
Abhängigkeitsverwaltung
Bibliotheken installieren
Vor der Set up von Abhängigkeiten wird empfohlen, eine virtuelle Umgebung zu aktivieren, um sicherzustellen, dass installierte Bibliotheken zu einem einzigen Projekt gehören. Dies hilft, globale Versionskonflikte zu vermeiden.
Der am häufigsten verwendete Befehl für die Abhängigkeitsverwaltung ist PIP. Im Vergleich zu anderen Alternativen, Pip ist intuitiv und einfach zu bedienen.
Zum Installieren einer Bibliothek eingeben:
pip set up <library_name>
In den folgenden Beispielen anstelle des
werde ich PANDAS (die am häufigsten verwendete Datenanalyse -Bibliothek) schreiben.
Wenn wir beispielsweise die neueste Model von Pandas herunterladen wollten, hätten wir eingeben sollen:
pip set up pandas
In einigen Szenarien müssen wir möglicherweise eine bestimmte Model einer Bibliothek installieren. Pip Bietet eine einfache Syntax dazu:
pip set up pandas==2.1.4 # set up pandas of model 2.1.4
pip set up pandas>=2.1.4 # set up pandas of model 2.1.4 or larger
pip set up pandas<2.1.4 # set up pandas of model lower than 2.1.4
pip set up pandas>=2.1.2,<2.2.4 # installs the most recent model accessible between 2.1.2 and a pair of.2.4
Abhängigkeitsdetails anzeigen
Wenn Sie an einer bestimmten Abhängigkeit interessiert sind, die Sie installiert haben pip present
Befehl:
pip present pandas
Beispielsweise gibt der Befehl im Beispiel die folgenden Informationen aus:

Abhängigkeit löschen
Verwenden Sie den folgenden Befehl, um eine Abhängigkeit aus einer virtuellen Umgebung zu entfernen:
pip uninstall pandas
Nach Ausführung dieses Befehls werden alle Dateien, die sich auf die angegebene Bibliothek beziehen, gelöscht, wodurch der Speicherplatz freigegeben wird. Wenn Sie jedoch ein Python -Programm ausführen, das diese Bibliothek erneut importiert, werden Sie auf einen Importeur treffen.
Datei mit Anforderungen
Eine gängige Praxis bei der Verwaltung von Abhängigkeiten besteht darin, a zu erstellen Anforderungen.txt Datei, die eine Liste aller heruntergeladenen Abhängigkeiten im Projekt zusammen mit ihren Versionen enthält. Hier ist ein Beispiel dafür, wie es aussehen könnte:
fastapi==0.115.5
pydantic==2.10.1
PyYAML==6.0.2
requests==2.32.3
scikit-learn==1.5.2
scipy==1.14.1
seaborn==0.13.2
streamlit==1.40.2
torch==2.5.1
torchvision==0.20.1
twister==6.4.2
tqdm==4.67.1
urllib3==2.2.3
uvicorn==0.32.1
yolo==0.3.2
Idealerweise jedes Mal, wenn Sie die verwenden pip set up
Befehl, Sie sollten der entsprechenden Zeile zum Fügen Sie der hinzu Anforderungen.txt Datei, um alle im Projekt verwendeten Bibliotheken zu verfolgen.
Wenn Sie dies jedoch vergessen, gibt es immer noch eine Various: die pip freeze
Der Befehl gibt alle installierten Abhängigkeiten im Projekt aus. Trotzdem, pip freeze
Kann ziemlich ausführlich sein, oft auch viele andere Bibliotheksnamen, die Abhängigkeiten der Bibliotheken sind, die Sie im Projekt verwenden.
pip freeze > necessities.txt
In Anbetracht dessen ist es eine gute Angewohnheit, den Anforderungen.TXT -Datei installierte Anforderungen mit ihren Versionen hinzuzufügen.
Immer wenn Sie ein Python -Projekt klonen, wird erwartet, dass eine Datei für Anforderungen.txt bereits im Git -Repository vorhanden ist. Um alle in dieser Datei aufgeführten Abhängigkeiten zu installieren, verwenden Sie die pip set up
Befehl zusammen mit der -r -Flag, gefolgt von dem Anforderungen Dateinamen.
pip set up -r necessities.txt
Wenn Sie umgekehrt an einem Python -Projekt arbeiten, sollten Sie eine Anforderungen.txt -Datei erstellen, damit andere Mitarbeiter die erforderlichen Abhängigkeiten problemlos installieren können.
.Gitignore
Bei der Arbeit mit Versionskontrollsystemen sollten virtuelle Umgebungen niemals auf Git gedrängt werden! Stattdessen müssen sie in einer .gitignore -Datei erwähnt werden.
Virtuelle Umgebungen sind in der Regel sehr groß, und wenn vorhandene Anforderungen vorhanden sind.
Abschluss
In diesem Artikel haben wir uns mit dem sehr wichtigen Konzept der virtuellen Umgebung befasst. Durch das Isolieren von heruntergeladenen Abhängigkeiten für verschiedene Projekte ermöglichen sie eine einfachere Verwaltung von mehreren Python -Projekte.
Alle Bilder stammen vom Autor, sofern nicht anders angegeben.