להתקנה אחת pip מקבל פרוקסי ישירות בשורת הפקודה. אפשר לנסות מסלול בלי לכתוב תצורת משתמש או מערכת קבועה:

python -m pip --proxy http://203.0.113.10:8080 install requests

השתמשו בנקודה מהשירות שלכם או מרשימת שרתי פרוקסי HTTP במקום IP התיעוד. הרצת python -m pip מבהירה גם את סביבת Python המיועדת יותר מהנחה שתוכנית pip נפרדת שייכת אליה.

URL הפרוקסי מתאר את חיבור הפרוקסי. הוא יכול להתחיל ב-http:// בעוד אינדקס החבילות וההורדות משתמשים בHTTPS דרך CONNECT.

אם pip ממשיך לבחור הגדרה אחרת

באפשרויות של pip עצמו, ארגומנטים בשורת הפקודה גוברים על משתני סביבה, שגוברים על קובצי תצורה. הקבצים יכולים להיות ברמה כללית, משתמש או סביבה וירטואלית. PIP_CONFIG_FILE יכול לבחור קובץ נוסף.

python -m pip config debug

זה מפרט את מקורות התצורה ש-pip בוחן. עברו עליהם מקומית: קבצים או ערכי סביבה עשויים להכיל URL פרטיים או פרטי כניסה.

בדקו גם PIP_PROXY ואת משתני הפרוקסי הרגילים של HTTP/HTTPS. לא כולם באותה שכבה; עיבוד סביבת הפרוקסי הרגיל עשוי עדיין להשפיע על המסלול בפועל. אל תניחו שמחיקת רשומת משתמש אחת הסירה כל מקור אפשרי.

אפשרות פרוקסי אינה מתקנת אמון בתעודות

אם המסלול מגיע לשירות HTTPS אך האימות נכשל, בררו איזו תעודה קיבל הלקוח. תצורת בדיקה מורשית עשויה להזדקק לאוסף CA מאושר:

python -m pip --proxy http://203.0.113.10:8080 \
  --cert /path/to/approved-ca-bundle.pem install requests

--trusted-host מסמן מארח כאמין גם בלי HTTPS תקף. הוא אינו קובע את IP הפרוקסי ואינו אמור להיות התגובה הרגילה לשגיאת תעודה. תקנו את נקודת הקצה או תצורת האמון.

pip 24.2 הוסיף תעודות מערכת לצד certifi כברירת מחדל בסביבות ריצה נתמכות. Pip קודם לא השתמש אוטומטית במאגר CA של מערכת ההפעלה. ההבדל עשוי להסביר מדוע CA ארגונית מאושרת עובדת בסביבת Python אחת וחסרה באחרת.

ארגומנט הפרוקסי של פקודה אחת מפסיק להשפיע כשהפקודה מסתיימת. אם תשמרו בהמשך הגדרה קבועה, שימו אותה בתחום הרצוי באמת, בלי להפוך כל סביבת Python לתלויה בנקודה שרק בדקתם.

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