Современный пакет Python и менеджер зависимостей, поддерживающий последние стандарты PEP. 中文版本说明
PDM предназначен для того, чтобы стать инструментом управления пакетами Python следующего поколения. Первоначально он был создан для личного использования. Если вы чувствуете, что у вас все хорошо с Pipenv
или Poetry
и не хотите представлять другого менеджера пакетов, просто придерживайтесь его. Но если вам не хватает чего -то, чего нет в этих инструментах, вы, вероятно, можете найти какую -то доброту в pdm
.
Простой и быстрое разрешение зависимости, в основном для больших бинарных распределений.
PEP 517 Build Backend.
PEP 621 Метаданные проекта.
Гибкая и мощная плагин-система.
Универсальные пользовательские сценарии.
Установите питоны, используя Python-Build-Standalone в Indygreg.
Образец централизованный кеш установки, такой как PNPM.
Pipenv - это менеджер зависимостей, который объединяет pip
и venv
, как следует из названия. Он может установить пакеты из нестандартного Pipfile.lock
или Pipfile
. Тем не менее, Pipenv не обрабатывает каких-либо пакетов, связанных с упаковкой вашего кода, поэтому он полезен только для разработки неостанавливаемых приложений (например, сайты Django). Если вы разработчик библиотеки, вам все равно нужны setuptools
.
Поэзия управляет окружающей средой и зависимостями аналогично Pipenv, но также может создавать файлы с вашим кодом, и он может загружать колеса и распределения источников в PYPI. Он имеет красивый пользовательский интерфейс, и пользователи могут настроить его через плагин. Поэзия использует стандарт pyproject.toml
, но она не соответствует стандарту, указывающему, как метаданные должны быть представлены в файле pyproject.toml (PEP 621), вместо этого с использованием пользовательской таблицы [tool.poetry]
. Это отчасти потому, что поэзия вышла до PEP 621.
Хэтч также может управлять средами, позволяя нескольким средам для каждого проекта. По умолчанию он имеет центральное место для всех сред, но его можно настроить для размещения среды (ы) проекта в корневом каталоге проекта. Он может управлять пакетами, но без поддержки блокировки. Он также может быть использован для упаковки проекта (с PEP 621, соответствующими файлам pyproject.toml) и загрузить его в PYPI.
PDM может управлять виртуальными средами (VENV) как в проектах, так и в централизованных местах, аналогично PIPENV. Он читает метаданные проекта из стандартизированного файла pyproject.toml
и поддерживает блокировки. Пользователи могут добавлять дополнительные функциональные возможности через плагины, которые можно разделить, загрузив их в качестве распределений.
В отличие от поэзии и люка, PDM не ограничивается определенной бэкэнд сборной; У пользователей есть свобода выбирать любой бэкэнд сборки, который они предпочитают.
PDM требует Python версии 3.8 или выше.
Как и PIP, PDM предоставляет сценарий установки, который будет установить PDM в изолированную среду.
Для Linux/Mac
curl -ssl https://pdm-project.org/install-pdm.py | Python3 -
Для окон
PowerShell -ExecutionPolicy Swypass -c "IRM https://pdm-project.org/install-pdm.py | py -"
По соображениям безопасности вы должны проверить контрольную сумму install-pdm.py
. Его можно скачать с install-pdm.py.sha256.
Установщик установит PDM в пользовательский сайт, а местоположение зависит от системы:
$HOME/.local/bin
для Linux
$HOME/Library/Python/<version>/bin
для macos
%APPDATA%PythonScripts
в Windows
Вы можете передать дополнительные параметры сценарию, чтобы управлять тем, как установлен PDM:
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
Вы можете либо передать параметры после сценария, либо установить значение env var.
Если вы находитесь в MacOS и используете homebrew
, установите его:
Brew Install PDM
Если вы находитесь в Windows и используете Scoop, установите его:
scoop bucket add frostming https://github.com/frostming/scoop-frostming.git scoop install pdm
В противном случае рекомендуется установить pdm
в изолированной среде с pipx
:
PIPX Установка PDM
Или вы можете установить его под сайтом пользователя:
PIP установка -USER PDM
С ASDF-VM
плагин ASDF добавить PDM ASDF Install PDM последнее
Инициализировать новый проект PDM
PDM Init
Ответьте на вопросы, следуя руководству, и PDM -проект с файлом pyproject.toml
будет готов к использованию.
Установить зависимости
PDM Добавить колбу запросов
Вы можете добавить несколько зависимостей в одну и ту же команду. Через некоторое время проверьте файл pdm.lock
, чтобы увидеть, что заблокировано для каждого пакета.
Расскажите людям, что вы используете PDM в своем проекте, включив код разметки в 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 - это кураторский список потрясающих плагинов и ресурсов PDM.
Этот проект сильно вдохновлен Pyflow и поэзией.
Этот проект открыт по получению MIT License, см. Файл лицензии для получения более подробной информации.