Perché pip scarica le dipendenze di compilazione prima di installare il tuo pacchetto
Una distribuzione sorgente può richiedere un ambiente di compilazione e dipendenze aggiuntive. Quei download fanno parte dell'installazione anche quando l'archivio di destinazione è già locale.
Un archivio sorgente locale può comunque richiedere accesso alla rete. Prima che pip possa installarlo, pip potrebbe aver bisogno di un backend di compilazione e di pacchetti di supporto per produrre una wheel.
Individua l'errore in questa sequenza: recupero dell'archivio di destinazione, installazione dei requisiti di compilazione, esecuzione del backend, quindi installazione del pacchetto risultante. Gli hook del backend possono richiedere ulteriori requisiti di compilazione; questi sono separati dalle dipendenze di runtime del pacchetto.
Identifica l'artefatto che pip deve ancora ottenere
In «Installing build dependencies» annota il pacchetto e l'URL non riusciti. Ispeziona l'indice effettivo, la rotta tramite proxy, il contesto dell'account e la fiducia per quella richiesta, usando le impostazioni documentate della versione di pip installata. Un download precedente riuscito non dimostra l'accesso a ogni host né all'ambiente di ogni helper. I requisiti di compilazione pubblici possono usare un candidato HTTP dalla lista di proxy HTTP quando quella rotta è consentita; conserva l'indice richiesto e la politica di fiducia. Le ricette di download storiche con setup.py possono usare sottoprocessi diversi.
Se un'altra macchina installa correttamente, confronta prima gli artefatti selezionati. La sua versione di Python o la piattaforma può avere una wheel precompilata compatibile, mentre questa macchina ha scelto una distribuzione sorgente e quindi necessita degli strumenti di compilazione.
Fornisci l'ambiente di compilazione deliberatamente
--no-build-isolation trasferisce a te la responsabilità delle dipendenze di compilazione necessarie. Non ripara l'autenticazione del proxy né la fiducia nel certificato. Un backend installato localmente può nascondere un requisito assente o incompatibile.
Per una compilazione deliberatamente offline, prepara l'artefatto di destinazione, i requisiti di compilazione e gli strumenti necessari per il progetto e la piattaforma tramite il processo approvato. Una directory che contiene solo l'archivio sorgente è incompleta. Conserva il requisito e la fase non riusciti nel report, così da poter correggere la rotta o l'insieme di artefatti preparato.