Ein modernes Python -Paket und ein Abhängigkeitsmanager, das die neuesten PEP -Standards unterstützt. 中文版本说明
PDM soll ein Python -Paket -Management -Tool der nächsten Generation sein. Es wurde ursprünglich für den persönlichen Gebrauch gebaut. Wenn Sie das Gefühl haben, dass Sie mit Pipenv
oder Poetry
gut gehen und keinen anderen Paketmanager vorstellen möchten, halten Sie sich einfach daran. Wenn Ihnen jedoch etwas fehlt, das in diesen Tools nicht vorhanden ist, können Sie wahrscheinlich etwas Güte in pdm
finden.
Einfache und schnelle Abhängigkeitsrelevanz, hauptsächlich für große binäre Verteilungen.
Ein Pep 517 -Backend.
PEP 621 Projektmetadaten.
Flexibler und leistungsstarkes Plug-in-System.
Vielseitige Benutzerskripte.
Installieren Sie Pythons mit Indygregs Python-Build-Standalone.
Opt-in zentralisierte Installationscache wie PNPM.
Pipenv ist ein Abhängigkeitsmanager, der pip
und venv
kombiniert, wie der Name schon sagt. Es kann Pakete aus einem nicht standardmäßigen Pipfile.lock
installieren. Lock oder Pipfile
. PipEnV verarbeitet jedoch keine Pakete, die sich auf die Verpackung Ihres Codes beziehen. Daher ist dies nur für die Entwicklung nicht installierbarer Anwendungen (z. B. Django-Websites) nützlich. Wenn Sie Bibliotheksentwickler sind, benötigen Sie trotzdem setuptools
.
Poesie verwaltet Umgebungen und Abhängigkeiten in ähnlicher Weise wie Pipenv, kann jedoch auch .WHL -Dateien mit Ihrem Code erstellen und können Räder und Quellenverteilungen auf PYPI hochladen. Es verfügt über eine hübsche Benutzeroberfläche und Benutzer können es über ein Plugin anpassen. Die Poesie verwendet den Standard pyproject.toml
, folgt jedoch nicht dem Standard, in dem angegeben wird, wie Metadaten in einer PYProject.toml -Datei (PEP 621) dargestellt werden sollen, stattdessen eine benutzerdefinierte [tool.poetry]
-Tabelle. Dies liegt teilweise daran, dass Poesie vor Pep 621 herauskam.
Hatch kann auch Umgebungen verwalten und mehrere Umgebungen pro Projekt ermöglichen. Standardmäßig verfügt es über einen zentralen Standort für alle Umgebungen, kann jedoch so konfiguriert werden, dass die Umgebungen eines Projekts in das Projekt Root -Verzeichnis aufgenommen werden. Es kann Pakete verwalten, jedoch ohne Lockfile -Unterstützung. Es kann auch verwendet werden, um ein Projekt zu verpacken (mit PEP 621 -konforme PYProject.toml -Dateien) und es auf PYPI hochladen.
PDM kann sowohl an den Projekt- als auch in zentralisierten Standorten virtuelle Umgebungen (VenVs) verwalten, ähnlich wie POPENV. Es liest Projektmetadaten aus einer standardisierten pyproject.toml
-Datei und unterstützt Lockfiles. Benutzer können zusätzliche Funktionen über Plugins hinzufügen, die durch Hochladen als Verteilungen gemeinsam genutzt werden können.
Im Gegensatz zu Poesie und Luken ist PDM nicht auf ein bestimmtes Backend -Backend beschränkt. Benutzer haben die Freiheit, ein Backend -Build -Backend zu wählen, das sie bevorzugen.
PDM benötigt Python Version 3.8 oder höher.
Wie PIP bietet PDM ein Installationsskript, das PDM in einer isolierten Umgebung einsetzt.
Für Linux/Mac
curl -SSL https://pdm-project.org/install-pdm.py | Python3 -
Für Fenster
PowerShell -executionPolicy Bypass -c "irm https://pdm-project.org/install-pdm.py | py -"
Aus Sicherheitsgründen sollten Sie die Prüfsumme von install-pdm.py
überprüfen. Es kann von Install-Pdm.py.sha256 heruntergeladen werden.
Der Installationsprogramm installiert PDM auf der Benutzerseite und der Speicherort hängt vom System ab:
$HOME/.local/bin
für Linux
$HOME/Library/Python/<version>/bin
für macOS
%APPDATA%PythonScripts
unter Windows
Sie können zusätzliche Optionen an das Skript weitergeben, um zu steuern, wie PDM installiert ist:
usage: install-pdm.py [-h] [-v VERSION] [--prerelease] [--remove] [-p PATH] [-d DEP] optional arguments: -h, --help show this help message and exit -v VERSION, --version VERSION | envvar: PDM_VERSION Specify the version to be installed, or HEAD to install from the main branch --prerelease | envvar: PDM_PRERELEASE Allow prereleases to be installed --remove | envvar: PDM_REMOVE Remove the PDM installation -p PATH, --path PATH | envvar: PDM_HOME Specify the location to install PDM -d DEP, --dep DEP | envvar: PDM_DEPS Specify additional dependencies, can be given multiple times
Sie können entweder die Optionen nach dem Skript übergeben oder den Env VAR -Wert festlegen.
Wenn Sie auf MacOS sind und homebrew
verwenden, installieren Sie es durch:
Brauen installieren Sie PDM
Wenn Sie unter Windows sind und Scoop verwenden, installieren Sie es durch:
scoop bucket add frostming https://github.com/frostming/scoop-frostming.git scoop install pdm
Andernfalls wird empfohlen, pdm
in einer isolierten Umgebung mit pipx
zu installieren:
PIPX Installieren Sie PDM
Oder Sie können es unter einer Benutzerseite installieren:
PIP -Installation -Nutzer PDM
Mit ASDF-VM
ASDF -Plugin PDM hinzufügen ASDF Installieren Sie PDM Neueste
Initialisieren Sie ein neues PDM -Projekt
pdm init
Beantworten Sie die folgenden Fragen, und ein PDM -Projekt mit einer pyproject.toml
-Datei ist verwendet.
Abhängigkeiten installieren
PDM -Anfragen Flask hinzufügen
Sie können mehrere Abhängigkeiten in demselben Befehl hinzufügen. Überprüfen Sie nach einer Weile die pdm.lock
-Datei, um zu sehen, was für jedes Paket gesperrt ist.
Teilen Sie den Leuten mit, dass Sie PDM in Ihrem Projekt verwenden, indem Sie den Markdown -Code in Readme.md aufnehmen:
[! [PDM-Managed] (https://img.shields.io/endpoint?url=https%3A%2F%2FCDN.JSDELIVR.NET%2FGH%2FPDM-Project%2F.github%2Fbadge.json) ( https://pdm-project.org)
Awesome PDM ist eine kuratierte Liste der fantastischen PDM -Plugins und Ressourcen.
Dieses Projekt ist stark von Pyflow und Poesie inspiriert.
Dieses Projekt wird unter MIT -Lizenz offen bezogen. Weitere Informationen finden Sie in der Lizenzdatei.