Paket Python modern dan manajer ketergantungan yang mendukung standar PEP terbaru. 中文版本说明
PDM dimaksudkan untuk menjadi alat manajemen paket Python generasi berikutnya. Awalnya dibangun untuk penggunaan pribadi. Jika Anda merasa baik -baik saja dengan Pipenv
atau Poetry
dan tidak ingin memperkenalkan manajer paket lain, tetap berpegang padanya. Tetapi jika Anda kehilangan sesuatu yang tidak ada dalam alat -alat itu, Anda mungkin dapat menemukan kebaikan dalam pdm
.
Resolver ketergantungan yang sederhana dan cepat, terutama untuk distribusi biner besar.
Pep 517 Build Backend.
PEP 621 Metadata Proyek.
Sistem plug-in yang fleksibel dan kuat.
Skrip pengguna yang serba bisa.
Pasang ular sanca menggunakan Python-Build-Standalone Indygregregregregregregregregregregregregregregregregregregregregregregregregregregregregregregregregregregregregregregregregregregregregregregregregregregregregregregr yang yang diindr ”yang dipen yang”.
Cache instalasi terpusat opt-in seperti PNPM.
Pipenv adalah manajer ketergantungan yang menggabungkan pip
dan venv
, sesuai namanya. Ini dapat memasang paket dari Pipfile.lock
non-standar.lock atau Pipfile
. Namun, PIPENV tidak menangani paket apa pun yang terkait dengan mengemas kode Anda, jadi ini hanya berguna untuk mengembangkan aplikasi yang tidak terinstal (situs Django, misalnya). Jika Anda seorang pengembang perpustakaan, Anda perlu setuptools
.
Puisi mengelola lingkungan dan ketergantungan dengan cara yang mirip dengan Pipenv, tetapi juga dapat membangun file .whl dengan kode Anda, dan dapat mengunggah roda dan distribusi sumber ke PYPI. Ini memiliki antarmuka pengguna yang cantik dan pengguna dapat menyesuaikannya melalui plugin. Puisi menggunakan standar pyproject.toml
, tetapi tidak mengikuti standar yang menentukan bagaimana metadata harus direpresentasikan dalam file pyproject.toml (pep 621), alih -alih menggunakan tabel [tool.poetry]
khusus. Ini sebagian karena puisi keluar sebelum Pep 621.
Hatch juga dapat mengelola lingkungan, memungkinkan banyak lingkungan per proyek. Secara default memiliki lokasi pusat untuk semua lingkungan tetapi dapat dikonfigurasi untuk menempatkan lingkungan proyek di direktori root proyek. Ini dapat mengelola paket tetapi tanpa dukungan Lockfile. Ini juga dapat digunakan untuk mengemas proyek (dengan file pyproject.toml yang sesuai dengan PEP 621) dan mengunggahnya ke PYPI.
PDM dapat mengelola lingkungan virtual (VENV) di kedua proyek dan lokasi terpusat, mirip dengan PIPENV. Ini membaca metadata proyek dari file pyproject.toml
standar dan mendukung LockFiles. Pengguna dapat menambahkan fungsionalitas tambahan melalui plugin, yang dapat dibagikan dengan mengunggahnya sebagai distribusi.
Tidak seperti puisi dan penetasan, PDM tidak terbatas pada backend build tertentu; Pengguna memiliki kebebasan untuk memilih backend build yang mereka sukai.
PDM membutuhkan Python Versi 3.8 atau lebih tinggi.
Seperti PIP, PDM menyediakan skrip instalasi yang akan menginstal PDM ke lingkungan yang terisolasi.
Untuk Linux/Mac
Curl -ssl https://pdm-project.org/install-pdm.py | Python3 -
Untuk windows
PowerShell -ExecutionPolicy bypass -c "irm https://pdm-project.org/install-pdm.py | py -"
Untuk alasan keamanan, Anda harus memverifikasi checksum install-pdm.py
. Ini dapat diunduh dari install-pdm.py.sha256.
Penginstal akan menginstal PDM ke situs pengguna dan lokasi tergantung pada sistem:
$HOME/.local/bin
untuk Linux
$HOME/Library/Python/<version>/bin
untuk macOS
%APPDATA%PythonScripts
di Windows
Anda dapat memberikan opsi tambahan ke skrip untuk mengontrol bagaimana PDM diinstal:
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
Anda dapat melewati opsi setelah skrip atau mengatur nilai Env var.
Jika Anda menggunakan macOS dan menggunakan homebrew
, instal dengan:
BREW INSTAL PDM
Jika Anda menggunakan Windows dan menggunakan scoop, instal dengan:
scoop bucket add frostming https://github.com/frostming/scoop-frostming.git scoop install pdm
Kalau tidak, disarankan untuk memasang pdm
di lingkungan yang terisolasi dengan pipx
:
PIPX Instal PDM
Atau Anda dapat menginstalnya di bawah situs pengguna:
Pip Instal -Pengguna PDM
Dengan ASDF-VM
Plugin ASDF Tambahkan PDM ASDF Instal PDM Terbaru
Inisialisasi proyek PDM baru
PDM Init
Jawab pertanyaan yang mengikuti panduan ini, dan proyek PDM dengan file pyproject.toml
akan siap digunakan.
Instal dependensi
PDM Tambahkan permintaan Flask
Anda dapat menambahkan beberapa dependensi dalam perintah yang sama. Setelah beberapa saat, periksa file pdm.lock
untuk melihat apa yang terkunci untuk setiap paket.
Beri tahu orang bahwa Anda menggunakan PDM dalam proyek Anda dengan memasukkan kode penurunan harga di ReadMe.md:
[! [PDM-dikelola] (https://img.shields.io/endpoint?url=https%3a%2f%2fcdn.jsdelivr.net%2fgh%2fpdm-project%2f.github%2fbadge.json]] ( https://pdm-project.org)
PDM yang luar biasa adalah daftar plugin dan sumber daya PDM yang dikuratori.
Proyek ini sangat terinspirasi oleh pyflow dan puisi.
Proyek ini bersumber terbuka di bawah lisensi MIT, lihat file lisensi untuk lebih jelasnya.