[PYTHON] Pipenv und Pipfile.lock

Ich weiß nicht, wie lange es verwendet wird, weil es sehr in Mode ist, aber ich werde über Pipenv https://github.com/pypa/pipenv schreiben. Pipenv ist ein Tool wie npm, verwendet jedoch Sperrdateien etwas anders, daher schreibe ich dies zuerst.

Pipfile.lock

In Pipenv schreibt der Entwickler in Pipfile, welche Version er installieren möchte, und Pipfile.lock zeichnet die tatsächlich installierte Version auf. Auf diese Weise können andere Personen dieselbe Umgebung reproduzieren, die der Entwickler installiert hat. Verwenden Sie es wie folgt.

Wenn Sie dieselbe Umgebung wie die Person reproduzieren möchten, die Pipfile.lock erstellt hat. (npm ci in npm)

pipenv install

Oder das Gleiche passiert mit der Pipenv-Synchronisierung

Wenn Sie Pipfile.lock ignorieren und die neuesten in Pipfile aufgelisteten Pakete installieren möchten. (npm install in npm)

pipenv update

Schreiben Sie weiter allgemeine Verwendung.

Wenn Sie auch pyenv installiert haben, wird pyenv über pipenv aufgerufen und die entsprechende Python-Version wird automatisch installiert.

Typische Arbeit beim Erstellen einer neuen Pipenv-Umgebung

Installationsbeispiel (Möglicherweise schreibt das Installationsprogramm "eval" $ (pyenv init-) "" in .zshrc usw.):

brew install pipenv pyenv

Erstellen Sie eine neue Umgebung, indem Sie die Python-Version angeben. Pyenv wird für die automatische Installation von Python benötigt.

pipenv --python 3.8

Betreten Sie die Umgebung

pipenv shell

Installieren Sie etwas für die Implementierung. pipenv lock wird ebenfalls automatisch ausgeführt und Pipfile.lock wird aktualisiert.

pipenv install boto3

Installieren Sie etwas für die Entwicklung. pipenv lock wird ebenfalls automatisch ausgeführt und Pipfile.lock wird aktualisiert.

pipenv install --dev autopep8

Installierte Pakete auflisten

pipenv graph

Überprüfen Sie die Abhängigkeiten wie in [pep-508] definiert (https://www.python.org/dev/peps/pep-0508/).

pipenv check

Suchen Sie ein veraltetes Paket

pipenv update --outdated

Aktualisieren Sie alte Pakete. Ignorieren Sie Pipfile.lock und sehen Sie sich nur Pipfile an, um das Paket zu aktualisieren. pipenv lock wird ebenfalls automatisch ausgeführt und Pipfile.lock wird aktualisiert.

pipenv update

Aktualisieren Sie Pipfile.lock auf die neueste Version basierend auf Pipfile, installieren Sie es jedoch nicht.

pipenv lock

Erstellen Sie eine Umgebung basierend auf Pipfile.lock. Entspricht "pipenv install", wenn Pipfile.lock vorhanden ist.

pipenv sync

Umgebung löschen

pipenv --rm

Beteiligen Sie sich an der Entwicklung von Code, der bereits Pipfile und Pipfile.lock enthält

Installieren Sie das Paket gemäß Pipfile.lock.

pipenv install

Beiseite

Es ist einfach, den Vorgang zu überprüfen, wenn Sie ein Paket verwenden, das schnell aktualisiert wird, z. B. boto3 https://pypi.org/project/boto3/.

Recommended Posts

Pipenv und Pipfile.lock
Pipenv
Über _ und __
Führen Sie OpenVino unter macOS und pyenv und pipenv aus