استفاده از mirror ها در نصب پکیج

  • مدرس : علی بیگدلی
  • تاریخ انتشار: 1405/02/22
  • تعداد بازدید: 56

Mirror چیست و چرا وجود دارد؟

PyPI (Python Package Index) مخزن اصلی پکیج‌های پایتون است. Mirror ها کپی‌هایی از این مخزن هستند که توسط سازمان‌ها، شرکت‌ها یا افراد مختلف میزبانی می‌شوند.

دلایل اصلی وجود Mirror ها:

  • سرعت بالاتر: Mirror های محلی یا منطقه‌ای تاخیر شبکه را کاهش می‌دهند
  • دسترسی در مناطق محدود: در برخی کشورها دسترسی مستقیم به PyPI ممکن نیست
  • امنیت و اعتماد: سازمان‌ها می‌توانند Mirror خصوصی با کنترل کامل داشته باشند
  • کاهش بار سرور اصلی: توزیع بار بین چندین سرور
  • کار آفلاین: امکان نصب پکیج‌ها بدون اتصال به اینترنت عمومی

روش اول: استفاده Global (سراسری)

در این روش، تمام پکیج‌ها از یک Mirror خاص نصب می‌شوند.

روش pip.conf (توصیه شده)

فایل تنظیمات pip را ایجاد یا ویرایش کنید:

# در لینوکس/مک:
~/.config/pip/pip.conf

# در ویندوز:
%APPDATA%\pip\pip.ini

محتوای فایل:

[global]
trusted-host = mirrors.example.com
index-url = https://mirrors.example.com/pypi/simple

و یا از طریق خود pip:

pip config --user set global.index https://mirrors.example.com/pypi/simple
pip config --user set global.index-url https://mirrors.example.com/pypi/simple
pip config --user set global.trusted-host mirrors.example.com

استفاده از متغیر محیطی

# در لینوکس/مک (bash):
export PIP_INDEX_URL=https://mirrors.example.com/pypi/simple

# در ویندوز (CMD):
set PIP_INDEX_URL=https://mirrors.example.com/pypi/simple

روش دوم: استفاده Per-Package (برای هر پکیج)

گاهی نیاز دارید فقط یک پکیج خاص را از Mirror خاصی نصب کنید.

استفاده از فلگ --index-url برای یک دستور

pip install numpy --index-url https://mirrors.example.com/pypi/simple

استفاده از فلگ -i

pip install pandas -i https://mirrors.example.com/pypi/simple

نصب نسخه خاص از یک Mirror متفاوت

pip install django==4.2 --index-url https://mirrors.example.com/pypi/simple

ترکیب چند Mirror با --extra-index-url

pip install some-package --extra-index-url https://mirrors.example.com/pypi/simple

تفاوت index-url و extra-index-url:

  • index-url: فقط از این Mirror استفاده می‌شود
  • extra-index-url: علاوه بر Mirror پیش‌فرض، این Mirror هم بررسی می‌شود

نکات مهم

  • trusted-host: حتماً اضافه کنید تا خطاهای SSL نداشته باشید
  • ترتیب جستجو: pip ابتدا در index-url اصلی جستجو می‌کند
  • نسخه pip: مطمئن شوید pip خود را به‌روز نگه دارید
  • virtualenv: بهتر است هر پروژه محیط مجازی خودش را داشته باشد

بررسی تنظیمات فعلی

pip config list
pip config debug

ثبت دیدگاه


نکته: آدرس ایمیل شما منتشر نخواهد شد
0/600

دیدگاه کاربران (0)


هیچ دیدگاهی ثبت نشده است. می‌توانید اولین نفر باشید.