Wed, Apr 23, 2025
تشعشع خیره کننده UV پکیج منیجری برای پایتون
اشعه UV یا اشعه فرابنفش (Ultraviolet) نوعی از تابش الکترومغناطیسی است که طول موج آن کوتاهتر از نور مرئی است و اصلا هم خیره کننده نیست چون اصلا قابل رویت نیست. اما قراره راجع به جدیدترین سیستم مدیریت پکیج در پایتون به نام UV براتون بنویسم.

معرفی پکیج منیجر UV محصولی از ASTRAL
UV مخفف Ultraviolet (فرابنفش) هست، و این انتخاب نام یک استعاره هوشمندانهست. اشعهی فرابنفش خیلی سریع، قدرتمند و نامرئیه. UV هم سعی داره مدیریت بستههای پایتون رو با همین ویژگیها انجام بده — سریع، پشتصحنه و بدون دردسر.
- ⚡ خیلی سریع: UV با زبان Rust نوشته شده و از
pip
وpip-tools
بسیار سریعتر عمل میکند. - 🧼 بیسر و صدا: بسیاری از کارهایی که قبلاً بهصورت دستی انجام میدادید (مثل ساختن فایل قفل یا ایجاد محیط مجازی)، UV بهصورت خودکار و در پشتصحنه انجام میدهد.
- 🔧 همهچیز در یک ابزار: UV میخواهد جایگزین چند ابزار پراکنده باشد، از جمله
pip
،pip-tools
،virtualenv
وbuild
— همه در یک ابزار واحد.
یک مدیر بستهی محبوب در دنیای پایتون، ابزار Poetry بود؛ نامی شاعرانه برای مدیریتی منظم و ساختیافته بر پکیجها. بسیاری از برنامهنویسان شیفتهی سادگی و زیبایی آن بودند.
اما حالا، UV پا به میدان گذاشته — سریع، چابک و بیادعا.
در حالیکه Poetry با نظم و دقت خاصی dependencyها را مدیریت میکرد، UV با بهرهگیری از زبان Rust، این کار را با سرعتی خیرهکننده انجام میدهد.
گویی بستهها را پیش از آنکه بفهمی، نصب و آمادهی استفاده کرده است.
پشتپردهی UV — تیم Astral و داستان تولد یک ابزار مدرن
Astral تیمی نوآور در دنیای ابزارهای توسعه پایتون است؛ سازندهی ابزارهایی مانند PDM که بر اساس استانداردهای نوین پایتون ساخته شده و با استقبال گستردهای روبرو شد. تجربهی ساخت این ابزارها، تیم Astral را با نقاط ضعف ابزارهای موجود مثل pip
, pip-tools
, virtualenv
و poetry
آشنا کرد.
آنها به این نتیجه رسیدند که ابزارهای سنتی:
- کند هستند،
- پراکندهاند (باید چند ابزار مختلف کنار هم استفاده شود)،
- و تجربهی کاربری سادهای ارائه نمیدهند.
و اینجا بود که UV متولد شد؛
ابزاری مدرن، سریع و همهکاره که قرار است نحوهی مدیریت پروژههای پایتون را متحول کند.
🎯 هدف اصلی UV:
ایجاد یک ابزار واحد و مدرن برای مدیریت کامل پروژههای پایتون، با ویژگیهایی همچون:
- 🚀 جایگزین کامل برای pip, pip-tools, pipx, poetry, pyenv, twine, virtualenv و دیگر ابزارهای پراکنده
- ⚡ ۱۰ تا ۱۰۰ برابر سریعتر از pip
- 🗂️ مدیریت جامع پروژه همراه با lockfile ‘گلوبال’ و سازگار با ابزارهای مختلف
- ❇️ اجرای اسکریپتها با پشتیبانی از تعریف وابستگی درونخطی (inline dependency metadata)
- 🐍 نصب و مدیریت نسخههای مختلف Python
- 🛠️ اجرای ابزارهایی که به صورت پکیجهای پایتونی منتشر شدهاند
- 🔩 رابط خط فرمان سازگار با pip برای بهرهمندی از سرعت بالا و حفظ تجربهی آشنا
- 🏢 پشتیبانی از ساختار پروژههای گسترده به سبک Cargo Workspaces
- 💾 صرفهجویی در فضای دیسک از طریق کش جهانی و حذف وابستگیهای تکراری
- ⏬ قابل نصب حتی بدون نیاز به Rust یا Python، از طریق curl یا pip
- 🖥️ پشتیبانی از سیستمعاملهای macOS، Linux و Windows
UV نه تنها جایگزینی برای ابزارهای فعلیست، بلکه آیندهای یکپارچه، سریع و حرفهای برای مدیریت پروژههای پایتون به ارمغان میآورد.

💡 نصب و استفاده از UV
نصب UV بسیار ساده و بدون دردسر است. فقط کافیست بسته به سیستمعاملتان یکی از دستورات زیر را اجرا کنید:
برای ویندوز (Windows)
در PowerShell این دستور را اجرا کنید:
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
برای مک و لینوکس
در ترمینال، این دستور را با استفاده از curl اجرا کنید:
curl -LsSf https://astral.sh/uv/install.sh | sh
بعد از نصب ورژنش را اینجوری چک میکنند و مطمیین میشند همه چی درسته
uv --version
اگر میخواهیی تمام دستورات uv را متوجه بشی
uv --help
برای اینکه ببینی چه ورژن های پایتونی موجود است این دستور:
uv python list
نصب یک ورژن خاص از پایتون ، اگر ننویسی آخرین ورژن موجود را نصب میکند.
uv python install 3.11.6
برای ساخت یک محیط مجازی جدید:
uv venv
و اگر میخوایی یک ورژن خاص از پایتون را روی محیط پروژه داشته باشی :
uv venv --python 3.11.6
فعالسازی محیط مجازی (Virtual Environment) با UV
بعد از نصب uv و انتخاب ورژن پایتون باید محیط مجازی را فعال کرد. برای فعالسازی:
- در Linux/macOS:
source .venv/bin/activate
- در Windows (CMD):
.venv\Scripts\activate.bat
برای راهاندازی اولیه و پیکر بندی پروژه و ساخت فایل قفل:
uv init
برای نصب یک پکیج مثلا فست ای پی آی بصورت استاندارد:
uv add fastapi --extra standard
خب به نظر شما برای حذف یک پکیج چه کار کنیم ؟
یا مثلا دستور زیر چکار میکنه ؟
uv run fastapi dev
فکر کنم وقتشه دست به کار بشی و خودت یو وی را نصب کنی و ازش استفاده کنی . باور کن یکی از لذت بخش ترین پکیج منیجرهای پایتون است و از کار باهاش لذت خواهی برد.
برای اینکه بیشتر در مورد UV بدونی، حتماً یک سری به مستندات رسمیاش بزن:
خود من هم دستورات UV رو از طریق وبسایت رسمی یاد گرفتم و امیدوارم توضیحات من بهت انگیزه کافی برای یادگیری داده باشه.
** کد بزن