Hallo, mein Freund!
Ich gehe davon aus, dass pip und virtualenv weiterhin zur Steuerung der Python-Umgebung in Ihrem Projekt verwendet werden.
Wenn ja, lassen Sie mich Ihnen von einem Tool wie Pipenv erzählen.
Pipenv ist ein modernes Tool zum Verwalten der Arbeitsumgebung in Python.
Hauptmerkmale von pipenv:
- Erstellen und Verwalten einer virtuellen Umgebung
- Pipfile-Paketsynchronisierung während der Installation und Entfernung des Pakets
- Automatisches Laden von Umgebungsvariablen aus einer ENV-Datei
Vergleichen Sie als gutes Beispiel die Verwendung von pip und virtualenv mit pipenv, um eine virtuelle Umgebung zu erstellen:
pip und virtualenv
$ virtualenv venv $ source venv/bin/activte $ pip install Flask gunicorn $ pip freeze > requirements.txt
pipenv
$ pipenv install Flask gunicorn
Erste Schritte
Installieren Sie die neueste Version von pipenv:
$ pip install pipenv
Management der Arbeitsumgebung
Gehen wir zum Verzeichnis mit dem Python-Projekt und erstellen eine virtuelle Umgebung, in der die Version des Interpreters angegeben ist:
$ cd yourproject $ pipenv --python 3.7
Das Team erstellt automatisch eine neue virtuelle Umgebung für Ihr Projekt, sofern diese noch nicht vorhanden ist.
Sie können die virtuelle Umgebung des Projekts aktivieren, indem Sie den shell
Befehl ausführen:
$ pipenv shell
Verwenden Sie den exit
, um die Shell der virtuellen Umgebung zu beenden:
$ exit
Anwendungsabhängigkeitsmanagement
Verwenden Sie zum Installieren von Paketen den Befehl install
:
$ pipenv install Flask
Pipenv installiert die neueste Version des Flask
Pakets und fügt sie automatisch der Pip-Datei hinzu.
Während der Installation können wir eine bestimmte Version des Pakets angeben:
$ pipenv install Flask==1.0.2
Die Entwickler dieses Tools haben sich auch um die Arbeit mit der Entwicklungsumgebung gekümmert - den Paketen, die in der Phase der Montage oder des Testens von Anwendungen benötigt werden.
Wenn Sie das Flag --dev
angeben, wird das Paket als Teil der Entwicklungsumgebung installiert:
$ pipenv install pytest --dev
Um alle Pakete einschließlich der Entwicklungsumgebungspakete zu installieren, müssen Sie Folgendes ausführen:
$ pipenv install --dev
Zum Deinstallieren von Paketen gibt es einen uninstall
:
$ pipenv uninstall Flask
Informationen zu installierten Paketen und ihren Abhängigkeiten werden in der Datei Pipfile.lock gespeichert, die automatisch generiert wird und vom Benutzer nicht geändert werden sollte.
Quellcode ausführen
Es ist möglich, den Quellcode in der virtualenv-Shell auszuführen:
$ pipenv run python yourapplication.py
Wenn eine ENV-Datei vorhanden ist, $ pipenv run
Befehle $ pipenv shell
und $ pipenv run
automatisch Umgebungsvariablen daraus:
$ cat .env DEBUG=1 $ echo $DEBUG 1
Anwendungsbereitstellung
Mit Pipenv können Sie Abhängigkeiten auf dem übergeordneten System installieren, indem Sie das Flag --system
:
$ pipenv install --system
Dies ist nützlich, wenn Sie Anwendungen in Docker bereitstellen.
Wenn Sie das Flag --deploy angeben, gibt pipenv einen Fehler aus, wenn Pipfile.lock veraltet ist oder die Python-Version nicht mit der angegebenen übereinstimmt.
Dockerfile-Beispiel für die Arbeit mit pipenv:
FROM python:3.7 RUN pip3 install pipenv WORKDIR /usr/src/app COPY Pipfile ./ COPY Pipfile.lock ./ RUN set -ex && pipenv install
Ein Beispiel für eine Flask-Anwendung mit Pipenv-Funktionen: github.com/fdhadzh/flask-pipenv-example .