نصب ماژول‌های پایتون

پایتون به عنوان یک پروژه توسعه متن‌باز محبوب، دارای کامیونیتی پشتیبان فعالی از مشارکت‌کنندگان و کاربران است که نرم‌افزار خود را نیز تحت شرایط مجوز متن‌باز برای استفاده‌ی سایر توسعه‌دهندگان پایتون در دسترس قرار می‌دهند.

این به کاربران پایتون امکان می‌دهد تا به‌طور مؤثر به اشتراک‌گذاری و همکاری بپردازند؛ هم از راه‌حل‌هایی که دیگران پیش‌تر برای مشکلات رایج (و گاهی حتی نادر!) ایجاد کرده‌اند بهره ببرند و هم به‌طور بالقوه راه‌حل‌های خود را به استخر مشترک بیفزایند.

این راهنما بخش نصب این فرایند را در بر می‌گیرد. برای راهنمایی درباره‌ی ایجاد و اشتراک‌گذاری پروژه‌های پایتون خودتان، به Python packaging user guide مراجعه کنید.

توجه

برای کاربران شرکتی و سایر کاربران سازمانی، آگاه باشید که بسیاری از سازمان‌ها سیاست‌های خاص خود را در زمینه استفاده از نرم‌افزارهای متن‌باز و مشارکت در آن‌ها دارند. لطفاً هنگام استفاده از ابزارهای توزیع و نصب ارائه‌شده به همراه پایتون، این سیاست‌ها را در نظر بگیرید.

اصطلاحات کلیدی

  • pip برنامه‌ی نصب‌کننده‌ی ترجیحی است. این برنامه به‌صورت پیش‌فرض در نصب‌کننده‌های دودویی پایتون گنجانده شده است.

  • محیط مجازی یک محیط نیمه‌ایزوله‌ی پایتون است که اجازه می‌دهد بسته‌ها برای استفاده‌ی یک برنامه‌ی خاص نصب شوند، نه به‌صورت سراسری در کل سیستم.

  • venv ابزار استاندارد برای ایجاد محیط‌های مجازی است. این ابزار به‌طور پیش‌فرض pip را در تمام محیط‌های مجازی ایجادشده نصب می‌کند.

  • virtualenv یک جایگزین شخص ثالث (و پیشینی) برای venv است.

  • شاخص بسته‌های پایتون (PyPI) یک مخزن عمومی از بسته‌های دارای مجوز متن‌باز است که برای استفاده‌ی سایر کاربران پایتون در دسترس قرار گرفته‌اند.

  • Python Packaging Authority گروهی از توسعه‌دهندگان و نویسندگان مستندات است که مسئولیت نگهداری و تکامل ابزارهای استاندارد بسته‌بندی و استانداردهای مرتبط با فراداده و قالب پرونده را بر عهده دارند. آن‌ها ابزارها، مستندات و ردیاب‌های مشکل (issue tracker) گوناگونی را در GitHub نگهداری می‌کنند.

تغییر یافته در نسخه‌ی 3.5: استفاده از venv اکنون برای ایجاد محیط‌های مجازی توصیه می‌شود.

استفاده پایه

همه‌ی ابزارهای استاندارد بسته‌بندی برای استفاده از طریق خط فرمان طراحی شده‌اند.

دستور زیر آخرین نسخه‌ی یک ماژول و وابستگی‌های آن را از PyPI نصب می‌کند:

python -m pip install SomePackage

توجه

برای کاربران POSIX (از جمله کاربران macOS و Linux)، مثال‌های این راهنما فرض می‌کنند که از محیط مجازی استفاده می‌شود.

برای کاربران ویندوز، مثال‌های این راهنما فرض می‌کنند که هنگام نصب پایتون، گزینه‌ی تنظیم متغیر محیطی PATH سیستم انتخاب شده باشد.

همچنین می‌توانید نسخه‌ی دقیق یا حداقلی را مستقیماً در خط فرمان مشخص کنید. هنگام استفاده از عملگرهای مقایسه‌ای مانند > و < یا هر نویسه‌ی خاص دیگری که توسط پوسته تفسیر می‌شود، باید نام بسته و نسخه را داخل علامت نقل‌قول دوتایی قرار دهید:

python -m pip install SomePackage==1.0.4    # specific version
python -m pip install "SomePackage>=1.0.4"  # minimum version

معمولاً، اگر ماژول مناسب از قبل نصب‌شده باشد، تلاش برای نصب مجدد آن هیچ اثری نخواهد داشت. ارتقای ماژول‌های موجود باید صریحاً درخواست شود:

python -m pip install --upgrade SomePackage

اطلاعات و منابع بیشتر درباره‌ی pip و قابلیت‌های آن را می‌توانید در راهنمای کاربری بسته‌بندی پایتون بیابید.

ایجاد محیط‌های مجازی از طریق ماژول venv انجام می‌شود. نصب بسته‌ها در یک محیط مجازی فعال از دستورهای نشان‌داده‌شده در بالا استفاده می‌کند.

چگونه می‌توانم ...؟

این‌ها پاسخ‌های سریع یا پیوندهایی برای برخی از کارهای رایج هستند.

... بسته‌ها را فقط برای کاربر فعلی نصب کنم؟

با دادن گزینه‌ی --user به python -m pip install، بسته‌ای فقط برای کاربر فعلی نصب می‌شود، نه برای همه‌ی کاربران سیستم.

... بسته‌های علمی پایتون را نصب کنم؟

تعدادی از بسته‌های علمی پایتون وابستگی‌های دودویی پیچیده‌ای دارند و در حال حاضر نصب مستقیم آن‌ها با pip آسان نیست. اغلب برای کاربران آسان‌تر خواهد بود که این بسته‌ها را از طریق روش‌های دیگر نصب کنند، به‌جای تلاش برای نصب آن‌ها با pip.

... با چندین نسخه از پایتون که به‌صورت موازی نصب شده‌اند کار کنم؟

در لینوکس، macOS و دیگر سیستم‌های POSIX، از دستورهای پایتون نسخه‌دار در ترکیب با سوییچ -m برای اجرای کپی مناسب pip استفاده کنید:

python3    -m pip install SomePackage  # default Python 3
python3.14 -m pip install SomePackage  # specifically Python 3.14

دستورهای pip با نسخه‌بندی مناسب نیز ممکن است در دسترس باشند.

در ویندوز، از راه‌انداز پایتون py در ترکیب با سوییچ -m استفاده کنید:

py -3    -m pip install SomePackage  # default Python 3
py -3.14 -m pip install SomePackage  # specifically Python 3.14

مشکلات رایج نصب

نصب در پایتون سیستمی روی لینوکس

در سامانه‌های لینوکسی، معمولاً یک نصب پایتون به عنوان بخشی از توزیع گنجانده می‌شود. نصب در این نصب پایتون نیازمند دسترسی root به سامانه است و در صورت ارتقای غیرمنتظره‌ی یک جزء با استفاده از pip، ممکن است در عملکرد مدیر بسته‌ی سامانه و سایر اجزای سامانه اختلال ایجاد کند.

در چنین سیستم‌هایی، هنگام نصب بسته‌ها با pip، اغلب بهتر است از یک محیط مجازی یا نصب در سطح کاربر استفاده کنید.

Pip نصب نشده است

ممکن است pip به‌صورت پیش‌فرض نصب نشود. یک راه‌حل احتمالی این است:

python -m ensurepip --default-pip

همچنین منابع اضافی برای نصب pip وجود دارد.

نصب ماژول‌های توسعه‌ای دودویی

پایتون زمانی تکیه‌ی سنگینی بر توزیع مبتنی بر کد منبع داشت و از کاربران نهایی انتظار می‌رفت که ماژول‌های توسعه‌ای را به عنوان بخشی از فرایند نصب، از کد منبع کامپایل کنند.

با معرفی قالب چرخ (wheel) دودویی و امکان انتشار چرخ‌ها از طریق PyPI، این مشکل در حال کاهش است، زیرا کاربران به‌طور منظم‌تری می‌توانند افزونه‌های پیش‌ساخته را نصب کنند، به‌جای اینکه ناچار باشند خودشان آن‌ها را بسازند.

برخی از راه‌حل‌های نصب نرم‌افزار علمی که هنوز به‌صورت پرونده‌های wheel پیش‌ساخته در دسترس نیست، ممکن است در به‌دست آوردن سایر توسعه‌های دودویی بدون نیاز به ساخت آن‌ها به‌طور محلی نیز کمک کنند.