حزمة Python الحديثة ومدير التبعية تدعم أحدث معايير PEP. 中文版本说明
من المفترض أن يكون PDM أداة لإدارة حزم Python من الجيل التالي. تم بناؤه في الأصل للاستخدام الشخصي. إذا كنت تشعر أنك تسير على ما يرام مع Pipenv
أو Poetry
ولا تريد تقديم مدير حزمة آخر ، فقط التمسك به. ولكن إذا كنت تفتقد شيئًا غير موجود في هذه الأدوات ، فربما يمكنك العثور على بعض الخير في pdm
.
حل بسيط وسريع للاعتماد ، وخاصة لتوزيعات ثنائية كبيرة.
PEP 517 بناء الخلفية.
PEP 621 Project Metadata.
نظام المكونات الإضافية المرنة والقوية.
البرامج النصية المستخدم متعددة الاستخدامات.
تثبيت Pythons باستخدام indygreg's python-build-standalone.
اختيار ذاكرة التخزين المؤقت للتثبيت المركزي مثل PNPM.
Pipenv هو مدير التبعية يجمع بين pip
و venv
، كما يوحي الاسم. يمكنه تثبيت الحزم من Pipfile.lock
غير القياسي. أو Pipfile
. ومع ذلك ، لا تتعامل PipenV مع أي حزم تتعلق بتغليف الكود الخاص بك ، لذلك فهي مفيدة فقط لتطوير التطبيقات غير القابلة للتثبيت (مواقع Django ، على سبيل المثال). إذا كنت مطور مكتبة ، فأنت بحاجة إلى setuptools
على أي حال.
يدير الشعر البيئات والتبعيات بطريقة مماثلة لـ PipenV ، ولكن يمكن أيضًا إنشاء ملفات. WHL مع الكود الخاص بك ، ويمكنه تحميل العجلات وتوزيعات المصدر إلى PYPI. يحتوي على واجهة مستخدم جميلة ويمكن للمستخدمين تخصيصها عبر مكون إضافي. يستخدم الشعر المعيار pyproject.toml
، لكنه لا يتبع المعيار الذي يحدد كيفية تمثيل البيانات الوصفية في ملف pyroject.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 في بيئة معزولة.
للينكس/ماك
Curl -SSL https://pdm-project.org/install-pdm.py | بيثون 3 -
لنظام التشغيل Windows
PowerShell -executionpolicy bypass -c "irm https://pdm-project.org/install-pdm.py | py -"
لأسباب أمنية ، يجب عليك التحقق من اختبارات install-pdm.py
يمكن تنزيله من تثبيت pdm.py.sha256.
سيقوم المثبت بتثبيت PDM في موقع المستخدم ويعتمد الموقع على النظام:
$HOME/.local/bin
for Linux
$HOME/Library/Python/<version>/bin
for 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 Plugin ADD PDM ASDF تثبيت PDM أحدث
تهيئة مشروع PDM جديد
PDM init
أجب عن الأسئلة التالية للدليل ، وسيكون مشروع PDM مع ملف pyproject.toml
جاهزًا للاستخدام.
تثبيت التبعيات
PDM إضافة طلبات طلبات
يمكنك إضافة تبعيات متعددة في نفس الأمر. بعد فترة من الوقت ، تحقق من ملف pdm.lock
لمعرفة ما هو مغلق لكل حزمة.
أخبر الأشخاص أنك تستخدم PDM في مشروعك من خلال تضمين رمز Markdown في README.MD:
[! https://pdm-project.org)
PDM Awesome هي قائمة منسقة من الإضافات والموارد الرائعة PDM.
هذا المشروع مستوحى بقوة من Pyflow والشعر.
هذا المشروع مفتوح من مصادر بموجب ترخيص معهد ماساتشوستس للتكنولوجيا ، راجع ملف الترخيص لمزيد من التفاصيل.