"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > إتقان إدارة مشاريع بايثون مع جزء من الأشعة فوق البنفسجية حان الوقت للتخلي عن الشعر

إتقان إدارة مشاريع بايثون مع جزء من الأشعة فوق البنفسجية حان الوقت للتخلي عن الشعر

تم النشر بتاريخ 2024-11-04
تصفح:109

Mastering Python Project Management with uv PartIt

هل سئمت من استخدام أدوات متعددة مثل pip و virtualenv و conda و Poetry و pyenv فقط للحفاظ على بيئات Python وتبعياتها تحت السيطرة؟ أنت لست وحدك! يمكن أن تبدو إدارة مشاريع بايثون وكأنها صداع، خاصة مع جميع مديري الحزم والأدوات المختلفة التي يتعين عليك الجدال معها.

أدخل uv - Universal Virtualenv . فكر في الأمر على أنه مدير حزم شامل مصمم لتبسيط وتسريع عملية تطوير لغة Python الخاصة بك.


قصة درامية صغيرة

uv تستمد إلهامها من Rye، وهو مدير تغليف حديث آخر، لتوحيد أفضل ميزات pip، وpip-tools، وpyenv، وvirtualenv، والشعر. تم تصميم الأشعة فوق البنفسجية باستخدام Rust، وهي ليست سريعة فحسب، بل تتميز أيضًا بالكفاءة العالية، حيث تعمل على تبسيط كل شيء بدءًا من إدارة التبعيات وحتى إنشاء بيئات افتراضية.

الهدف من الأشعة فوق البنفسجية

باختصار، الأشعة فوق البنفسجية تدور حول الدمج. لماذا التبديل بين أدوات متعددة عندما يمكنك الحصول على تجربة واحدة موحدة؟ ويهدف إلى إزالة الاحتكاك من تطوير بايثون، مما يوفر لك طريقة أكثر اتساقًا وأسرع لإدارة مشاريعك. كما أنها تشتعل بسرعة! وهذا يفتح أبوابًا جديدة للإدارة الديناميكية


1. كود محمول مع بيانات تعريف البرنامج النصي المضمنة

دعونا نتحدث عن التبعيات

إحدى الميزات الأكثر إثارة للأشعة فوق البنفسجية هي القدرة على إضافة التبعيات مباشرة داخل برنامج Python النصي الخاص بك. تخيل أن لديك نصًا بسيطًا مثل هذا:

# app.py
import requests
from rich.pretty import pprint

response = requests.get("https://peps.python.org/api/peps.json")
data = response.json()
pprint([(k, v["title"]) for k, v in data.items()][:10])

يعني تشغيل هذا البرنامج النصي عادةً إعداد بيئة افتراضية وتثبيت التبعيات يدويًا. باستخدام uv، يمكنك تضمين جميع التبعيات الخاصة بك مباشرةً في البرنامج النصي، مما يجعلها مكتفية ذاتيًا وقابلة للمشاركة:

$ uv add --script app.py 'requests



إنشاء بيانات التعريف تلقائيًا

يؤدي هذا إلى إضافة البيانات الوصفية إلى ملف البرنامج النصي:

# /// script
# dependencies = [
#   "requests



وهذا كل شيء! يمكنك مشاركة هذا الملف مع شخص آخر، ويمكنه ببساطة تشغيل:

$ uv run app.py

وها هو — لا حاجة لأي إعداد خارجي! كل ذلك بفضل سرعة وكفاءة الأشعة فوق البنفسجية.


2. إنشاء وإدارة البيئات الافتراضية

البدء مع البيئات الافتراضية

افتراضيًا، يتطلب uv تثبيت الحزم داخل بيئات افتراضية للحفاظ على نظامك نظيفًا وتجنب التعارضات بين المشاريع المختلفة. يعد إنشاء بيئة افتراضية باستخدام الأشعة فوق البنفسجية أمرًا بسيطًا:

$ uv venv

سيؤدي هذا إلى إنشاء دليل .venv يحتوي على البيئة المعزولة. إذا كنت تريد تحديد دليل مخصص أو إصدار بايثون، فيمكنك القيام بما يلي:

$ uv venv my_env --python 3.9

البيئة جاهزة للاستخدام، وسوف تكتشفها الأشعة فوق البنفسجية تلقائيًا لجميع أوامرك، مثل تثبيت الحزم أو تشغيل البرامج النصية.

متى يتم استخدام إضافة الأشعة فوق البنفسجية مقابل تثبيت نقطة الأشعة فوق البنفسجية

  • استخدم uv add: عندما تريد إضافة تبعيات إلى ملف pyproject.toml الخاص بمشروعك. يعد هذا هو الأفضل عندما تقوم بتطوير مشروع وترغب في تتبع جميع التبعيات، مما يجعل المشروع قابلاً للمشاركة وقابلاً للتكرار بسهولة. سنغطي هذا في المقالة التالية، تابعونا!

    $ uv add fastapi
    

    سيؤدي هذا إلى تحديث pyproject.toml الخاص بك وقفل الإصدار في uv.lock.

  • Use uv pip install: عندما تريد تثبيت الحزم للاستخدام السريع دون تعديل ملف المشروع، أو للأدوات العالمية حيث لا تحتاج إلى تتبعها في pyproject.toml. فكر في نقطة الأشعة فوق البنفسجية كتثبيت فوري لمرة واحدة.

    $ uv pip install requests
    

يضمن اختيار الأمر الصحيح إدارة مشروعك بشكل صحيح وسهولة مشاركته أو نشره.


3. قفل الإصدارات من أجل إمكانية تكرار نتائجها

هل سبق لك أن تعطلت التعليمات البرمجية الخاصة بك بسبب التحديثات؟

لقد مررنا جميعًا بذلك - يعمل الرمز الخاص بك اليوم، ثم يتوقف غدًا بسبب تحديث الحزمة. باستخدام الأشعة فوق البنفسجية، يمكنك منع ذلك عن طريق قفل إصدارات الحزمة لضمان الاتساق وقابلية التكرار:

[tool.uv]
exclude-newer = "2023-10-16T00:00:00Z"

بهذه الطريقة، حتى لو ظهرت إصدارات جديدة من تبعياتك، فسيظل مشروعك مستقرًا. مثالي للمشاريع طويلة الأمد حيث لا يمكنك تحمل تكاليف المفاجآت!


4. إدارة إصدارات بايثون

مشاريع مختلفة، إصدارات مختلفة من بايثون؟ لا مشكلة!

يتعين على العديد من المطورين العمل على مشاريع متعددة تتطلب إصدارات مختلفة من Python. الأشعة فوق البنفسجية تجعل تبديل الإصدارات أمرًا سهلاً مثل:

$ uv python install 3.8 3.9 3.10

بمجرد تثبيت الإصدارات، يصبح التبديل بينها سلسًا:

$ uv run --python 3.10 app.py

وإذا كنت تريد قفل إصدار معين لمشروع:

$ uv python pin 3.9

لا مزيد من التلاعب بأوامر pyenv، حيث تتولى الأشعة فوق البنفسجية جميع الأحمال الثقيلة نيابةً عنك.


5. قل وداعًا لمتاعب النقاط

إنها نقطة، ولكنها أسرع وأفضل

يوفر الأشعة فوق البنفسجية تجربة تشبه النقطة ولكن مع أداء معزز بالشاحن التوربيني. تثبيت الحزم أمر بسيط:

$ uv pip install flask

هل تحتاج إلى إضافة تبعيات اختيارية أو التثبيت مباشرة من GitHub repo؟ لا عرق:

$ uv pip install 'torch>=1.10.0' "git https://github.com/astral-sh/ruff"

لا داعي للانتظار لعمليات التثبيت البطيئة، حيث تنجز الأشعة فوق البنفسجية المهمة بسرعة وفعالية.


6. إدارة أدوات CLI على مستوى العالم وبسهولة

من الأسود إلى الكشكش، احصل على أدواتك بدون متاعب

سواء كنت تقوم بفحص التعليمات البرمجية أو تنسيق الملفات، فإن الأشعة فوق البنفسجية تجعل تثبيت أدوات CLI أمرًا سهلاً:

  • عالميًا:

    $ uv tool install ruff
    
  • محليًا ضمن المشروع:

    $ uv add ruff
    
  • تشغيل الأوامر المؤقتة دون التثبيت عالميًا:

    $ uvx black my_code.py
    

قل وداعًا للصراعات المجمعة وتلوث البيئة، ما عليك سوى تشغيل أدواتك متى وأينما كنت في حاجة إليها.


إذا كنت تتطلع إلى زيادة تطوير لغة Python الخاصة بك وترغب في التوقف عن المصارعة باستخدام أدوات متعددة، فإن الأشعة فوق البنفسجية هي إجابتك. بفضل أوامرها المبسطة، والبيئات القابلة للتكرار، وإدارة الحزم الفعالة، تجعل الأشعة فوق البنفسجية تطوير Python متعة وليس عملاً روتينيًا.

هل أنت مستعد لأخذ الأشعة فوق البنفسجية في جولة؟ ؟ ابدأ اليوم واختبر طريقة أفضل لإدارة مشاريع بايثون الخاصة بك.


ترقبوا الجزء الثاني، حيث سنتعمق أكثر في الميزات المتقدمة مثل الاستفادة من pyproject.toml، والتعامل مع عمليات تثبيت الأدوات العالمية مقابل المحلية، وكيف يمكن أن تكون الأشعة فوق البنفسجية أفضل صديق لك عند إدارة البيئات المعقدة.

ترميز سعيد! ?✨

لمزيد من التفاصيل والتوثيق الكامل، راجع وثائق الأشعة فوق البنفسجية.

بيان الافراج تم إعادة إنتاج هذه المقالة على: https://dev.to/thomas_bury_b1a50c1156cbf/mastering-python-project-management-with-uv-part1-its-time-to-ditch-poetry-3bi0?1 إذا كان هناك أي انتهاك، من فضلك اتصل بـ [email protected]
أحدث البرنامج التعليمي أكثر>

تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.

Copyright© 2022 湘ICP备2022001581号-3