Un package Python moderne et un gestionnaire de dépendances prenant en charge les dernières normes PEP. 中文版本说明
PDM est censé être un outil de gestion des packages Python de nouvelle génération. Il a été construit à l'origine pour un usage personnel. Si vous sentez que vous allez bien avec Pipenv
ou Poetry
et que vous ne voulez pas présenter un autre gestionnaire de packages, restez-y. Mais si vous manquez quelque chose qui n'est pas présent dans ces outils, vous pouvez probablement trouver une certaine bonté dans pdm
.
Resolver de dépendance simple et rapide, principalement pour les grandes distributions binaires.
Un backend de construction PEP 517.
PEP 621 Metadata du projet.
Système de plug-in flexible et puissant.
Scripts utilisateur polyvalents.
Installez des pythons à l'aide de Python-Build-standalone d'IndyGreg.
Cache d'installation centralisée opt-in comme PNPM.
PiPenv est un gestionnaire de dépendances qui combine pip
et venv
, comme son nom l'indique. Il peut installer des packages à partir d'un Pipfile.lock
non standard.lock ou Pipfile
. Cependant, PiPenv ne gère aucun package lié à l'emballage de votre code, il est donc utile uniquement pour développer des applications non installables (sites Django, par exemple). Si vous êtes un développeur de bibliothèque, vous avez besoin setuptools
de toute façon.
La poésie gère les environnements et les dépendances d'une manière similaire à PiPENV, mais il peut également créer des fichiers .whl avec votre code, et il peut télécharger des roues et des distributions de source à PYPI. Il dispose d'une interface utilisateur jolie et les utilisateurs peuvent le personnaliser via un plugin. La poésie utilise la norme pyproject.toml
, mais elle ne suit pas la norme spécifiant comment les métadonnées doivent être représentées dans un fichier pyproject.toml (PEP 621), à l'aide d'une table personnalisée [tool.poetry]
. C'est en partie parce que la poésie est sortie avant PEP 621.
Hatch peut également gérer des environnements, permettant plusieurs environnements par projet. Par défaut, il a un emplacement central pour tous les environnements, mais il peut être configuré pour mettre les environnements d'un projet dans le répertoire racine du projet. Il peut gérer les packages mais sans support de fichier de verrouillage. Il peut également être utilisé pour emballer un projet (avec des fichiers PyProject.toml conforme à PEP 621) et le télécharger sur PYPI.
PDM peut gérer les environnements virtuels (VENV) dans les emplacements du projet et centralisés, similaires à PiPenv. Il lit les métadonnées du projet à partir d'un fichier pyproject.toml
standardisé et prend en charge les fichiers de verrouillage. Les utilisateurs peuvent ajouter des fonctionnalités supplémentaires via des plugins, qui peuvent être partagés en les téléchargeant sous forme de distributions.
Contrairement à la poésie et à la trappe, le PDM n'est pas limité à un backend spécifique de construction; Les utilisateurs ont la liberté de choisir tout backend de construction qu'ils préfèrent.
PDM nécessite Python version 3.8 ou plus.
Comme PIP, PDM fournit un script d'installation qui installera PDM dans un environnement isolé.
Pour Linux / Mac
curl -ssl https://pdm-project.org/install-pdm.py | Python3 -
Pour les fenêtres
PowerShell -ExecutionPolicy Bypass -C "irm https://pdm-project.org/install-pdm.py | py -"
Pour des raisons de sécurité, vous devez vérifier la somme de contrôle de install-pdm.py
. Il peut être téléchargé à partir de l'installation-pdm.py.sha256.
Le programme d'installation installera PDM dans le site utilisateur et l'emplacement dépend du système:
$HOME/.local/bin
pour Linux
$HOME/Library/Python/<version>/bin
pour macOS
%APPDATA%PythonScripts
sur Windows
Vous pouvez transmettre des options supplémentaires au script pour contrôler comment PDM est installé:
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
Vous pouvez soit transmettre les options après le script ou définir la valeur Env Var.
Si vous êtes sur macOS et que vous utilisez homebrew
, installez-le par:
Installation de l'installation PDM
Si vous êtes sous Windows et utilisez Scoop, installez-le par:
scoop bucket add frostming https://github.com/frostming/scoop-frostming.git scoop install pdm
Sinon, il est recommandé d'installer pdm
dans un environnement isolé avec pipx
:
Pipx install pdm
Ou vous pouvez l'installer sous un site utilisateur:
PIP Install - User PDM
Avec Asdf-VM
Plugin ASDF Ajouter PDM ASDF Installer PDM Dernier
Initialiser un nouveau projet PDM
PDM INIT
Répondez aux questions qui suivent le guide, et un projet PDM avec un fichier pyproject.toml
sera prêt à l'emploi.
Installer des dépendances
PDM Ajouter des demandes FLASK
Vous pouvez ajouter plusieurs dépendances dans la même commande. Après un certain temps, vérifiez le fichier pdm.lock
pour voir ce qui est verrouillé pour chaque package.
Dites aux gens que vous utilisez PDM dans votre projet en incluant le code Markdown dans Readme.md:
[! [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 est une liste organisée de plugins et de ressources PDM impressionnants.
Ce projet est fortement inspiré par Pyflow et la poésie.
Ce projet est ouvert sous licence MIT, consultez le fichier de licence pour plus de détails.