Um gerenciador moderno de pacote Python e dependência que suporta os mais recentes padrões de PEP. 中文版本说明
O PDM deve ser uma ferramenta de gerenciamento de pacotes Python de próxima geração. Foi originalmente construído para uso pessoal. Se você sente que está indo bem com Pipenv
ou Poetry
e não deseja apresentar outro gerente de pacotes, apenas cumpra -o. Mas se você está perdendo algo que não está presente nessas ferramentas, provavelmente poderá encontrar alguma bondade no pdm
.
Resolver de dependência simples e rápida, principalmente para grandes distribuições binárias.
Um back -end de construção PEP 517.
Metadados do projeto PEP 621.
Sistema de plug-in flexível e poderoso.
Scripts de usuário versáteis.
Instale os Pythons usando o Python-Build-Standalone da Indygreg.
Cache de instalação centralizado opt-in como PNPM.
O Pipenv é um gerente de dependência que combina pip
e venv
, como o nome implica. Ele pode instalar pacotes de um Pipfile.lock
ou Pipfile
não padrão. No entanto, o PIPENV não lida com nenhum pacote relacionado à embalagem do seu código, por isso é útil apenas para desenvolver aplicativos não instaláveis (sites Django, por exemplo). Se você é um desenvolvedor de biblioteca, precisará setuptools
de qualquer maneira.
A poesia gerencia ambientes e dependências de maneira semelhante à PIPENV, mas também pode criar arquivos .Whl com seu código e pode fazer upload de rodas e distribuições de origem para o PYPI. Possui uma interface de usuário bonita e os usuários podem personalizá -lo por meio de um plug -in. A poesia usa o padrão pyproject.toml
, mas não segue o padrão especificando como os metadados devem ser representados em um arquivo pyProject.toml (pep 621), em vez disso, usando uma tabela personalizada [tool.poetry]
. Isso ocorre em parte porque a poesia foi lançada antes do PEP 621.
A escotilha também pode gerenciar ambientes, permitindo vários ambientes por projeto. Por padrão, ele possui um local central para todos os ambientes, mas pode ser configurado para colocar o ambiente de um projeto no diretório raiz do projeto. Ele pode gerenciar pacotes, mas sem suporte ao arquivo de bloqueio. Ele também pode ser usado para empacotar um projeto (com arquivos PyProject.toml compatível com PEP 621) e enviá -lo para o PYPI.
O PDM pode gerenciar ambientes virtuais (VENVs) em locais de projeto e centralizados, semelhantes ao PIPENV. Ele lê os metadados do projeto de um arquivo pyproject.toml
padronizado e suporta arquivos de bloqueio. Os usuários podem adicionar funcionalidades adicionais através de plugins, que podem ser compartilhados, enviando -os como distribuições.
Ao contrário de poesia e escotilha, o PDM não se limita a um back -end de construção específico; Os usuários têm a liberdade de escolher qualquer back -end de construção que preferir.
O PDM requer Python versão 3.8 ou superior.
Como o PIP, o PDM fornece um script de instalação que instalará o PDM em um ambiente isolado.
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 motivos de segurança, você deve verificar a soma de verificação do install-pdm.py
. Pode ser baixado de install-pdm.py.sha256.
O instalador instalará o PDM no site do usuário e o local depende do sistema:
$HOME/.local/bin
for Linux
$HOME/Library/Python/<version>/bin
para macOS
%APPDATA%PythonScripts
no Windows
Você pode passar opções adicionais para o script para controlar como o PDM está instalado:
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
Você pode passar as opções após o script ou definir o valor ENV VAR.
Se você estiver no macOS e usando homebrew
, instale -o por:
Brew Install PDM
Se você estiver no Windows e usando SCOOP, instale -o por:
scoop bucket add frostming https://github.com/frostming/scoop-frostming.git scoop install pdm
Caso contrário, é recomendável instalar pdm
em um ambiente isolado com pipx
:
PIPX Instale PDM
Ou você pode instalá -lo em um site de usuário:
PIP Instale -PDM PDM
Com ASDF-VM
plug -in ASDF Adicionar PDM ASDF Instale o PDM mais recente
Inicialize um novo projeto PDM
PDM Init
Responda às perguntas após o guia e um projeto PDM com um arquivo pyproject.toml
estará pronto para uso.
Instalar dependências
PDM Adicionar solicitações Flask
Você pode adicionar várias dependências no mesmo comando. Depois de um tempo, verifique o arquivo pdm.lock
para ver o que está bloqueado para cada pacote.
Diga às pessoas que você está usando o PDM em seu projeto, incluindo o código de marcação no Readme.md:
[! [PDM-manager] (https://img.shields.io/endpoint?url=https%3a%2f%2fcdn.jsdelivr.net%2fgh%2fpdm-project%2f.github%2fbadge.json) ( https://pdm-project.org)
O Awesome PDM é uma lista com curadoria de plugins e recursos impressionantes do PDM.
Este projeto é fortemente inspirado pelo fluxo e à poesia.
Este projeto é de origem aberta sob licença do MIT, consulte o arquivo de licença para obter mais detalhes.