يحتاج دعم SOCKS في pip إلى أن يكون اعتماد SOCKS الاختياري متاحًا لمفسّر Python الذي يشغّل pip. وإذا كان هذا المفسّر لا يستطيع الوصول إلى فهرس الحزم إلا عبر 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 الهدف دون تغيير. الفحص المفيد هو أي أمر python -m pip ينفّذ المهمة، لا ما إذا كانت طرفية أخرى تعلن أن PySocks مثبّت.

مقالات ذات صلة