מדוע pip מוריד תלויות בנייה לפני התקנת החבילה שלכם
הפצת מקור עשויה לדרוש סביבת בנייה ותלויות נוספות. ההורדות האלה הן חלק מההתקנה גם כשהארכיון היעד כבר מקומי.
ארכיון מקור מקומי עדיין עשוי לדרוש גישה לרשת. לפני ש-pip יכול להתקין אותו, ייתכן ש-pip זקוק ל-backend בנייה ולחבילות תמיכה כדי לייצר wheel.
אתרו את הכשל ברצף הזה: אחזור ארכיון היעד, התקנת דרישות הבנייה, הרצת ה-backend, ואז התקנת החבילה שנוצרה. ווי ה-backend עשויים לבקש דרישות בנייה נוספות; אלה נפרדות מתלויות זמן הריצה של החבילה.
זהו את הארטיפקט ש-pip עדיין צריך
ב-“Installing build dependencies” רשמו את החבילה וה-URL שנכשלו. בדקו את האינדקס האפקטיבי, המסלול דרך ה-proxy, את הקשר החשבון ואת האמון בבקשה הזו, באמצעות ההגדרות המתועדות של גרסת ה-pip המותקנת. הורדה מוצלחת קודמת אינה מוכיחה גישה לכל מארח או לסביבה של כל עוזר. דרישות בנייה ציבוריות עשויות להשתמש במועמד HTTP מתוך רשימת ה-proxy של HTTP כאשר המסלול הזה מותר; שמרו על האינדקס הנדרש ועל מדיניות האמון. מתכוני הורדה היסטוריים עם setup.py עשויים להשתמש בתהליכי משנה שונים.
אם מכונה אחרת מתקינה בהצלחה, השוו קודם את הארטיפקטים שנבחרו. בגרסת ה-Python או בפלטפורמה שלה עשוי להיות wheel שנבנה מראש ותואם, בעוד שהמכונה הזו בחרה הפצת מקור ולכן זקוקה לכלי בנייה.
ספקו את סביבת הבנייה במכוון
--no-build-isolation מעביר אליכם את האחריות לתלויות הבנייה הנדרשות. הוא אינו מתקן אימות proxy או אמון בתעודה. backend המותקן מקומית עשוי להסתיר דרישה חסרה או לא תואמת.
לבנייה מכוונת ללא חיבור, הכינו את ארטיפקט היעד, דרישות הבנייה ואת הכלים הנדרשים לפרויקט ולפלטפורמה דרך התהליך המאושר. תיקייה שמכילה רק את ארכיון המקור אינה שלמה. שמרו את הדרישה והשלב שנכשלו בדוח כדי שניתן יהיה לתקן את המסלול או את מערך הארטיפקטים שהוכן.