مشکلی به نام تحریم یا فیلترینگ pypi.org
چند روزی است که متأسفانه دسترسی به وبسایت pypi.org و نصب بسته های پایتونی توسط pip با مشکل مواجه شده است. از این رو لازم هست از روشهای جایگزین موجود استفاده کرد از جمله :
۱. استفاده از vpn ها 😩
۲. تحریم شکن ها ( مدعی تحریمی بودن سایت بالا که البته من ۵ تحریم شکن مختلف رو چک کردم و هیچ کدوم روی همراه اول و صبا نت جواب نداده اند!)🤥
۳. استفاد ه از آیینه ها ( mirrors ). 🤓
برا استفاده از آیینه ها میتوانید به صورت زیر عمل کنید:
pip install --trusted-host [host] -i [address] some-pckage
برای استفاده از دستور بالا نیازمند لیست مخازن آیینه pypi هستیم که لیست host و address هایی که تست شده اند در ادامه آمده است:
Host Addsess https://pypi.tuna.tsinghua.edu.cn https://pypi.tuna.tsinghua.edu.cn/simple/ https://mirrors.aliyun.com https://mirrors.aliyun.com/pypi/simple/ https://pypi.mirrors.ustc.edu.cn https://pypi.mirrors.ustc.edu.cn/simple/ https://repo.huaweicloud.com https://repo.huaweicloud.com/repository/pypi/simple/ http://pypi.douban.com http://pypi.douban.com/simple/ http://pypi.sdutlinux.org http://pypi.sdutlinux.org/ http://pypi.hustunique.com http://pypi.hustunique.com/
مسلماً نوشتن این دستور با این حجم از اطلاعات خیلی مقلول نیست، لذا میتوانیم ( در لینوکس🐧) در فایل .bashrc دستورات زیر را وارد کنیم :
alias pip_china1="pip install --trusted-host https://pypi.tuna.tsinghua.edu.cn -i https://pypi.tuna.tsinghua.edu.cn/simple/ " alias pip_china2="pip install --trusted-host https://mirrors.aliyun.com -i https://mirrors.aliyun.com/pypi/simple/ " alias pip_china3="pip install --trusted-host https://pypi.mirrors.ustc.edu.cn -i https://pypi.mirrors.ustc.edu.cn/simple/ " alias pip_china4="pip install --trusted-host https://repo.huaweicloud.com -i https://repo.huaweicloud.com/repository/pypi/simple/ " alias pip_china5="pip install --trusted-host http://pypi.douban.com -i http://pypi.douban.com/simple/ " alias pip_china6="pip install --trusted-host http://pypi.sdutlinux.org -i http://pypi.sdutlinux.org/ " alias pip_china7="pip install --trusted-host http://pypi.hustunique.com -i http://pypi.hustunique.com/ "
به این ترتیب به جای pip میتوانید از pip_china1 تا pip_chana6 استفاده کنید.
⚠️البته یک راه راحتتر* هم هست و اون هم جایگزین کردن هر یک از آیینه های بالا با آدرس پیشفرض pip در سیستم هست.
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pip -U pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
* البته من به شخصه تغییر کلی آدرس ریپازیتوری رو پیشنهاد نمیدهم
این مطلب تحت پروانه CC-BY-SA است.
نوشته ای از سید سجاد موسوی نژاد سوق
مختصر و مفید. سپاس