pip-এর SOCKS নির্ভরতা অফলাইনে বুটস্ট্র্যাপ করা
সংযুক্ত মেশিন থেকে একটি PySocks wheel স্থানান্তর করুন যাতে লক্ষ্য ইন্টারপ্রেটার তার SOCKS প্রক্সি ব্যবহার শুরু করতে পারে।
pip-এর SOCKS সমর্থনের জন্য pip চালানো Python ইন্টারপ্রেটারে ঐচ্ছিক SOCKS নির্ভরতাটি উপলব্ধ থাকা দরকার। সেই ইন্টারপ্রেটার যদি কেবল SOCKS-এর মাধ্যমে প্যাকেজ সূচি পৌঁছাতে পারে, তাহলে আগে অন্য একটি সংযুক্ত মেশিনে নির্ভরতাটি আনুন।
সংযুক্ত মেশিনে একটি ছোট wheel ডিরেক্টরি প্রস্তুত করুন:
python -m pip download --only-binary=:all: --dest wheelhouse PySocks
সেই ডিরেক্টরিটি লক্ষ্য মেশিনে স্থানান্তর করুন, তারপর স্থানীয় ইনস্টলের জন্য তার নির্ধারিত ইন্টারপ্রেটার ব্যবহার করুন:
python -m pip install --no-index --find-links wheelhouse PySocks
--no-index এই বুটস্ট্র্যাপ ধাপটি সরবরাহ করা ফাইলগুলোর উপরেই রাখে। এটি আরেকটি সূচি অনুরোধ করে মূল সংযোগ সমস্যাটি সমাধানের চেষ্টা করে না।
নির্ভরতাটি পাওয়ার পর প্রকৃত প্যাকেজ কাজের জন্য SOCKS পথটি বেছে নেওয়া যায়:
python -m pip install --proxy socks5h://proxy.example.net:1080 package_name
প্রক্সি প্রমাণীকরণ ছাড়া অনুমোদিত প্রকাশ্য প্যাকেজ ডাউনলোডের জন্য, SOCKS5 প্রক্সি তালিকা থেকে একটি প্রার্থী দিয়ে এন্ডপয়েন্টটি বদলান এবং নির্ধারিত প্যাকেজটি বেছে নিন। socks5h বানানটি প্রক্সির মাধ্যমে গন্তব্য নামের রিজলিউশন চায়; socks5 এই ক্লায়েন্ট পথে স্থানীয় গন্তব্য রিজলিউশন বেছে নেয়।
বুটস্ট্র্যাপ ইনস্টল ও প্যাকেজ কাজ একই ইন্টারপ্রেটার ও পরিবেশে রাখুন। PySocks অন্য একটি Python-এ ইনস্টল করলে লক্ষ্য pip-এর import অপরিবর্তিত থাকে। কাজে লাগে এমন পরীক্ষা হলো কোন python -m pip কমান্ডটি কাজটি চালায়, অন্য টার্মিনাল PySocks ইনস্টল হয়েছে বলে জানায় কি না তা নয়।