תמיכת SOCKS של pip דורשת שתלות ה-SOCKS האופציונלית תהיה זמינה למתרגם ה-Python שמריץ את pip. אם אותו מתרגם יכול להגיע למפתח החבילות רק דרך SOCKS, הבא את התלות קודם במכונה מחוברת אחרת.

במכונה המחוברת הכן ספריית גלגלים קטנה:

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 מותקן.

מאמרים קשורים