Zakaj pip prenese odvisnosti za gradnjo pred namestitvijo vašega paketa
Distribucija izvorne kode lahko zahteva gradbeno okolje in dodatne odvisnosti. Ti prenosi so del namestitve tudi, ko je ciljni arhiv že lokalno.
Lokalni arhiv izvorne kode lahko še vedno zahteva dostop do omrežja. Preden ga pip lahko namesti, morda potrebuje gradbeni backend in podporne pakete za izdelavo wheela.
Poiščite napako v tem zaporedju: pridobitev ciljnega arhiva, namestitev gradbenih zahtev, izvajanje backenda in nato namestitev nastalega paketa. Kavlji backenda lahko zahtevajo dodatne gradbene zahteve; te so ločene od odvisnosti paketa med izvajanjem.
Določite artefakt, ki ga pip še potrebuje
Pri »Installing build dependencies« zabeležite neuspeli paket in URL. Preglejte dejanski indeks, pot prek proxyja, kontekst računa in zaupanje za to zahtevo, z uporabo dokumentiranih nastavitev nameščene različice pip. Prejšnji uspešen prenos ne dokazuje dostopa do vsakega gostitelja ali okolja vsakega pomočnika. Javne gradbene zahteve lahko uporabijo kandidata HTTP s seznama proxyjev HTTP, kadar je ta pot dovoljena; ohranite zahtevani indeks in politiko zaupanja. Zgodovinski setup.py recepti za prenos lahko uporabljajo druge podprocese.
Če se na drugem računalniku namestitev uspe, najprej primerjajte izbrane artefakte. Njegova različica Pythona ali platforma ima morda združljiv vnaprej zgrajen wheel, medtem ko je to računalnik izbralo distribucijo izvorne kode in zato potrebuje gradbena orodja.
Zagotovite gradbeno okolje namerno
--no-build-isolation prenese odgovornost za potrebne gradbene odvisnosti na vas. Ne popravi preverjanja pristnosti proxyja ali zaupanja v potrdilo. Lokalno nameščen backend lahko skrije manjkajočo ali nezdružljivo zahtevo.
Za namerno offline gradnjo pripravite ciljni artefakt, gradbene zahteve in potrebna orodja za projekt in platformo po odobrenem postopku. Imenik, ki vsebuje samo arhiv izvorne kode, je nepopoln. Ohranite neuspelo zahtevo in stopnjo v poročilu, da bo mogoče popraviti pot ali pripravljen nabor artefaktov.