Un paquete moderno de Python y un administrador de dependencia que admite los últimos estándares PEP. 中文版本说明
PDM está destinado a ser una herramienta de gestión de paquetes de Python de próxima generación. Originalmente fue construido para uso personal. Si cree que va bien con Pipenv
o Poetry
y no quiere presentar otro administrador de paquetes, simplemente no sean. Pero si le falta algo que no está presente en esas herramientas, probablemente pueda encontrar algo de bondad en pdm
.
Resolvente de dependencia simple y rápida, principalmente para grandes distribuciones binarias.
Un backend de construcción PEP 517.
PEP 621 Metadatos del proyecto.
Sistema de complemento flexible y potente.
Scripts de usuario versátiles.
Instale Pythons utilizando la pitón-construcción de python-standalone de Indygreg.
Option Instalation Caché como PNPM.
Pipenv es un gerente de dependencia que combina pip
y venv
, como su nombre lo indica. Puede instalar paquetes desde un Pipfile.lock
no estándar o Pipfile
. Sin embargo, PIPENV no maneja ningún paquete relacionado con el empaquetado de su código, por lo que es útil solo para desarrollar aplicaciones no instalables (sitios de Django, por ejemplo). Si eres un desarrollador de la biblioteca, de todos modos necesitas setuptools
.
La poesía gestiona entornos y dependencias de manera similar a Pipenv, pero también puede construir archivos .WHL con su código, y puede cargar ruedas y distribuciones de origen a PYPI. Tiene una bonita interfaz de usuario y los usuarios pueden personalizarla a través de un complemento. La poesía utiliza el estándar pyproject.toml
, pero no sigue el estándar que especifica cómo los metadatos deben representarse en un archivo pyproject.toml (PEP 621), en su lugar utilizando una tabla personalizada [tool.poetry]
. Esto se debe en parte a que la poesía salió antes de PEP 621.
Hatch también puede administrar entornos, permitiendo múltiples entornos por proyecto. Por defecto, tiene una ubicación central para todos los entornos, pero se puede configurar para colocar los entornos de un proyecto en el directorio raíz del proyecto. Puede administrar paquetes pero sin soporte de archivo de bloqueo. También se puede utilizar para empaquetar un proyecto (con archivos PyProject.TOML que cumplen con PEP 621) y cargarlo en PYPI.
PDM puede administrar entornos virtuales (VENV) tanto en el proyecto como en ubicaciones centralizadas, similar a Pipenv. Lee metadatos del proyecto de un archivo pyproject.toml
estandarizado y admite BlockFiles. Los usuarios pueden agregar funcionalidad adicional a través de complementos, que se pueden compartir cargándolos como distribuciones.
A diferencia de la poesía y la escotilla, PDM no se limita a un backend de construcción específico; Los usuarios tienen la libertad de elegir cualquier backend de compilación que prefieran.
PDM requiere Python versión 3.8 o superior.
Al igual que PIP, PDM proporciona un script de instalación que instalará PDM en un entorno aislado.
Para Linux/Mac
curl -ssl https://pdm-project.org/install-pdm.py | Python3 -
Para Windows
PowerShell -ExecutionPolicy bypass -C "IRM https://pdm-project.org/install-pdm.py | py -"
Por razones de seguridad, debe verificar la suma de verificación de install-pdm.py
. Se puede descargar desde install-pdm.py.sha256.
El instalador instalará PDM en el sitio de usuario y la ubicación depende del sistema:
$HOME/.local/bin
para Linux
$HOME/Library/Python/<version>/bin
para macOS
%APPDATA%PythonScripts
en Windows
Puede pasar opciones adicionales al script para controlar cómo se instala 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
Puede aprobar las opciones después del script o establecer el valor de env de env.
Si está en macOS y usa homebrew
, instálelo por:
Brew Instalar PDM
Si está en Windows y usa SCOOP, instálelo por:
scoop bucket add frostming https://github.com/frostming/scoop-frostming.git scoop install pdm
De lo contrario, se recomienda instalar pdm
en un entorno aislado con pipx
:
PIPX Instalar PDM
O puede instalarlo en un sitio de usuario:
Instalar PIP -User PDM
Con asdf-vm
ASDF complemento Agregar PDM ASDF Instalar PDM más reciente
Inicializar un nuevo proyecto PDM
PDM Init
Responda las preguntas que siguen a la guía, y un proyecto PDM con un archivo pyproject.toml
estará listo para usar.
Instalar dependencias
PDM Agregar solicitudes Flask
Puede agregar múltiples dependencias en el mismo comando. Después de un tiempo, consulte el archivo pdm.lock
para ver qué está bloqueado para cada paquete.
Dígale a las personas que está utilizando PDM en su proyecto al incluir el código Markdown en ReadMe.md:
/ https://pdm-project.org)
Awesome PDM es una lista curada de complementos y recursos PDM impresionantes.
Este proyecto está fuertemente inspirado en el pyflow y la poesía.
Este proyecto es abierto bajo la licencia MIT, consulte el archivo de licencia para obtener más detalles.