แพ็คเกจ Python ที่ทันสมัยและผู้จัดการการพึ่งพาที่รองรับมาตรฐาน PEP ล่าสุด 中文版本说明
PDM มีความหมายว่าเป็นเครื่องมือจัดการแพ็คเกจ Python รุ่นต่อไป เดิมทีมันถูกสร้างขึ้นเพื่อการใช้งานส่วนตัว หากคุณรู้สึกว่าคุณเป็นไปด้วยดีกับ Pipenv
หรือ Poetry
และไม่ต้องการแนะนำตัวจัดการแพ็คเกจอื่นเพียงแค่ติดมัน แต่ถ้าคุณขาดสิ่งที่ไม่ได้อยู่ในเครื่องมือเหล่านั้นคุณอาจพบความดีใน pdm
ตัวแก้ไขการพึ่งพาที่ง่ายและรวดเร็วส่วนใหญ่สำหรับการแจกแจงแบบไบนารีขนาดใหญ่
PEP 517 สร้างแบ็กเอนด์
PEP 621 Metadata โครงการ
ระบบปลั๊กอินที่ยืดหยุ่นและทรงพลัง
สคริปต์ผู้ใช้อเนกประสงค์
ติดตั้ง Pythons โดยใช้ Python-build-Standalone ของ Indygreg
เลือกใช้แคชการติดตั้งแบบรวมศูนย์เช่น PNPM
PIPENV เป็นผู้จัดการการพึ่งพาที่รวม pip
และ venv
ตามชื่อหมายถึง มันสามารถติดตั้งแพ็คเกจจาก Pipfile.lock
ที่ไม่ได้มาตรฐานล็อคหรือ Pipfile
อย่างไรก็ตาม PIPENV ไม่ได้จัดการแพ็คเกจใด ๆ ที่เกี่ยวข้องกับบรรจุภัณฑ์รหัสของคุณดังนั้นจึงมีประโยชน์สำหรับการพัฒนาแอปพลิเคชันที่ไม่สามารถติดตั้งได้เท่านั้น (ตัวอย่างเช่นไซต์ Django) หากคุณเป็นนักพัฒนาห้องสมุดคุณต้องมี setuptools
อยู่ดี
บทกวีจัดการสภาพแวดล้อมและการพึ่งพาในลักษณะเดียวกันกับ PipenV แต่ยังสามารถสร้างไฟล์. whl ด้วยรหัสของคุณและสามารถอัปโหลดล้อและการแจกแจงแหล่งที่มาไปยัง PYPI มีส่วนต่อประสานผู้ใช้สวยและผู้ใช้สามารถปรับแต่งผ่านปลั๊กอิน บทกวีใช้มาตรฐาน pyproject.toml
แต่ไม่เป็นไปตามมาตรฐานที่ระบุว่าควรแสดงข้อมูลเมตาดาต้าในไฟล์ pyproject.toml (PEP 621) แทนการใช้ตาราง [tool.poetry]
แบบกำหนดเอง ส่วนหนึ่งเป็นเพราะบทกวีออกมาก่อน PEP 621
แฮทช์ยังสามารถจัดการสภาพแวดล้อมได้ช่วยให้สภาพแวดล้อมหลายอย่างต่อโครงการ โดยค่าเริ่มต้นจะมีตำแหน่งกลางสำหรับทุกสภาพแวดล้อม แต่สามารถกำหนดค่าให้วางสภาพแวดล้อมของโครงการในไดเรกทอรีรากของโครงการ มันสามารถจัดการแพ็คเกจ แต่ไม่มีการสนับสนุนล็อคไฟล์ นอกจากนี้ยังสามารถใช้ในการบรรจุโครงการ (พร้อมไฟล์ PYProject.toml ที่สอดคล้องกับ PEP 621) และอัปโหลดไปยัง PYPI
PDM สามารถจัดการสภาพแวดล้อมเสมือนจริง (VENVs) ในทั้งโครงการและสถานที่ส่วนกลางซึ่งคล้ายกับ PipenV มันอ่านข้อมูลเมตาของโครงการจากไฟล์ pyproject.toml
มาตรฐานและรองรับล็อคไฟล์ ผู้ใช้สามารถเพิ่มฟังก์ชั่นเพิ่มเติมผ่านปลั๊กอินซึ่งสามารถแชร์ได้โดยการอัปโหลดเป็นการแจกแจง
ซึ่งแตกต่างจากบทกวีและฟัก PDM ไม่ได้ จำกัด อยู่ที่แบ็กเอนด์สร้างเฉพาะ ผู้ใช้มีอิสระในการเลือกแบ็กเอนด์ที่ต้องการ
PDM ต้องการ Python เวอร์ชัน 3.8 หรือสูงกว่า
เช่น PIP, PDM มีสคริปต์การติดตั้งที่จะติดตั้ง PDM ลงในสภาพแวดล้อมที่แยกได้
สำหรับ Linux/Mac
Curl -ssl https://pdm-project.org/install-pdm.py | Python3 -
สำหรับ Windows
PowerShell -ExecutionPolicy บายพาส -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
ให้ติดตั้งโดย:
การติดตั้ง PDM
หากคุณอยู่บน Windows และใช้ Scoop ให้ติดตั้งโดย:
scoop bucket add frostming https://github.com/frostming/scoop-frostming.git scoop install pdm
มิฉะนั้นขอแนะนำให้ติดตั้ง pdm
ในสภาพแวดล้อมที่แยกได้ด้วย pipx
:
pipx ติดตั้ง pdm
หรือคุณสามารถติดตั้งได้ภายใต้เว็บไซต์ผู้ใช้:
การติดตั้ง PIP -ผู้ใช้ PDM
ด้วย ASDF-VM
ปลั๊กอิน ASDF เพิ่ม PDM ASDF ติดตั้ง PDM ล่าสุด
เริ่มต้นโครงการ PDM ใหม่
pdm init
ตอบคำถามตามคำแนะนำและโครงการ PDM พร้อมไฟล์ pyproject.toml
จะพร้อมใช้งาน
ติดตั้งการพึ่งพา
pdm เพิ่มคำขอขวด
คุณสามารถเพิ่มการพึ่งพาหลายครั้งในคำสั่งเดียวกัน หลังจากนั้นไม่นานให้ตรวจสอบไฟล์ pdm.lock
เพื่อดูสิ่งที่ล็อคไว้สำหรับแต่ละแพ็คเกจ
บอกคนอื่นว่าคุณใช้ PDM ในโครงการของคุณโดยรวมถึงรหัส markdown ใน 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 โปรดดูไฟล์ใบอนุญาตสำหรับรายละเอียดเพิ่มเติม