کار با پکیج های پایتون به صورت آفلاین

صورت مساله: می خواهم اجرای یک پروژه را به روی سروری منتقل کنم، به دلیل عدم دسترسی سرور به اینترنت پکیج های برنامه دانلود نمی شوند و پروژه نیز اجرا نمی شودراه حل: فرض میکنیم روی لپتاپ شخصی دسترسی به اینترنت داریم و تمام Toolsها و Libهای مورد استفاده برنامه رو بایستی منتقل کنیم روی سرور، بدون استفاده از اینترنت در مقصدچی یاد میگیریم:نصب pip و SetupTools به صورت آفلاین نصب می شود؟فایل .whl چیست و چگونه نصب می شودکار با پکیج ها در پایتونپیش نیازها:در این مقاله فرض بر این است که محیط کار برنامه ویندوز می باشد و شما دسترسی به اینترنت به همراه فیلتر شکن در یکی از PCها دارید ولی محدودیتی در استفاده از ابزار نیست این سناریو با Anaconda و Spyder هم جواب میده ولی برای مثال پایتون استاندارد و PyCharm رو توضیح میدم. دستورات را در قسمت Terminal نرم افزار PyCharm یا Command Prompt ویندوز می توانید اجرا کنیددانلود پایتون (نسخه مخصوص ویندوز) از اینجا و نسخه رایگان PyCharm از اینجادر صورتی که Python را قبل از PyCharm نصب نمایید به طور پیش فرض تنظیمات Interpreter درست خواهد بود.مراحل انجام:دستور زیر برای استخراج لیست پکیج(Lib)های نصب شده در پروژه­ی باز یا Virtual Environment فعال می باشد:pip freeze > requirements.txtPIPچیست ؟مخفف pip installs packages و به عنوان سیستم مدیریت استفاده و نصب پکیج های نوشته شده به زبان پایتون به شمار می­رود. بسیاری از پکیج ها و بسته های وابسته به آنها را می توان در سایت فهرست بسته ­های پایتون (Python Package Index (PyPI به این آدرس یافتدستور pip freeze > requirements.txt باعث ایجاد فایلی متنی مشابه تصویر زیر از فهرست پکیج ­ها و نسخه ­ آنها می­شودحال به کمک لیست پکیج ها اقدام به دانلود آنها می نماییم، در این مرحله نیازی به اینترنت نداریددر نظر داشته باشید فایلهای مختلفی از نوع zip ،tar.gz و whl در مسیری که دستور را اجرا نمی نمایید به وجود خواهند آمد.پکیج های دانلود شده را کنار پروژه­ ی مورد نظر به مسیر دلخواه روی سروری که اینترنت ندارد کپی کنیدقبل از اینکه بتوانیم نصب پکیج ها را آغاز کنیم نیاز داریم تا PIP را نصب کنیم برای این منظور مراحل زیر را دنبال کنید:1- ابتداPip و setuptools را از اینترنت دانلود کنید:https://pypi.python.org/pypi/setuptoolshttps://pypi.python.org/pypi/pip2- فایلهای دانلود شده را به سرور منتقل و دستورات زیر را در مسیری که فایل اجرایی پایتون وجود دارد اجرا نمایید:دقت نمایید در صورتی که چند پایتون همزمان نصب داشته باشید لازم است تا این مرحله را برای هر کدام مستقلا اجرا نماییدpython pip-19.2.3-py2.py3-none-any.whl/pip install --no-index setuptools-41.2.0-py2.py3-none-any.whlpython pip-19.2.3-py2.py3-none-any.whl/pip install --no-index pip-19.2.3-py2.py3-none-any.whlدر نظر داشته باشید نحوه رفتار با فایلهای whlدرست مثل فایل zip می باشددر انتها به کمک PIP نصب پکیج ها را به صورت آفلاین انجام می دهیم:1- نصب پکیج تکیpip install --no-index --find-links=c:/python/lib pandasنصب پکیج تکی2- نصب پکیج به صورت دسته ایی به کمک فایل requirements.txt که در مراحل قبلی آن را ایجاد کردیم:pip install --no-index --find-links=c:/python/lib -r requirements.txtیکی دیگر از کاربردهای این مقاله رو می توانید از لینک زیر مطالعه بفرمایید:https://websauna.org/docs/tutorials/deployment/freeze.htmlمنابع استفاده شده:https://stackoverflow.com/questions/36132350/install-python-wheel-file-without-using-piphttps://support.telefonicaopencloud.com/en-us/devg/sdk/en-us_topic_0107955974.htmlhttps://pip.pypa.io/en/stable/reference/pip_freeze/