Per què pip descarrega les dependències de compilació abans d'instal·lar el teu paquet
Una distribució de codi font pot requerir un entorn de compilació i dependències addicionals. Aquestes descàrregues formen part de la instal·lació encara que l'arxiu de destinació ja sigui local.
Un arxiu de codi font local encara pot requerir accés a la xarxa. Abans que pip el pugui instal·lar, pot necessitar un backend de compilació i paquets de suport per produir una wheel.
Localitzeu la fallada en aquesta seqüència: obtenció de l'arxiu de destinació, instal·lació dels requisits de compilació, execució del backend i, després, instal·lació del paquet resultant. Els hooks del backend poden sol·licitar requisits de compilació addicionals; aquests són independents de les dependències d'execució del paquet.
Identifiqueu l'artefacte que pip encara necessita
A “Installing build dependencies”, anoteu el paquet i l'URL que han fallat. Reviseu l'índex efectiu, la ruta del proxy, el context del compte i la confiança per a aquesta sol·licitud, utilitzant la configuració documentada de la versió de pip instal·lada. Una descàrrega anterior amb èxit no estableix accés a tots els amfitrions ni a l'entorn de cada auxiliar. Els requisits de compilació públics poden utilitzar un candidat HTTP de la llista de proxys HTTP quan aquesta ruta està permesa; manteniu l'índex i la política de confiança requerits. Les receptes històriques de descàrrega amb setup.py poden utilitzar subprocessos diferents.
Si una altra màquina instal·la correctament, compareu primer els artefactes seleccionats. La seva versió de Python o plataforma pot tenir una wheel precompilada compatible, mentre que aquesta màquina ha seleccionat una distribució de codi font i, per tant, necessita eines de compilació.
Proporcioneu l'entorn de compilació de manera deliberada
--no-build-isolation transfereix a vosaltres la responsabilitat de les dependències de compilació necessàries. No reparara l'autenticació del proxy ni la confiança en el certificat. Un backend instal·lat localment pot amagar un requisit absent o incompatible.
Per a una compilació deliberadament sense connexió, prepareu l'artefacte de destinació, els requisits de compilació i les eines necessàries per al projecte i la plataforma mitjançant el procés aprovat. Un directori que només contingui l'arxiu de codi font és incomplet. Manteniu el requisit fallit i l'etapa a l'informe perquè es pugui corregir la ruta o el conjunt d'artefactes preparat.