Mengapa pip memuat turun kebergantungan binaan sebelum memasang pakej anda
Pengedaran sumber boleh memerlukan persekitaran binaan dan kebergantungan tambahan. Muat turun itu ialah sebahagian daripada pemasangan walaupun arkib sasaran sudah ada secara setempat.
Arkib sumber setempat masih boleh memerlukan akses rangkaian. Sebelum pip boleh memasangnya, pip mungkin memerlukan backend binaan dan pakej sokongan untuk menghasilkan wheel.
Cari kegagalan dalam urutan ini: pengambilan arkib sasaran, pemasangan keperluan binaan, pelaksanaan backend, kemudian pemasangan pakej yang terhasil. Cangkuk backend boleh meminta keperluan binaan tambahan; itu berasingan daripada kebergantungan masa jalan pakej.
Kenal pasti artifak yang masih diperlukan pip
Pada “Installing build dependencies,” catat pakej dan URL yang gagal. Periksa indeks berkesan, laluan proksi, konteks akaun dan kepercayaan untuk permintaan itu, menggunakan tetapan terdokumen versi pip yang dipasang. Muat turun berjaya sebelum ini tidak membuktikan akses ke setiap hos atau persekitaran setiap pembantu. Keperluan binaan awam boleh menggunakan calon HTTP daripada senarai proksi HTTP apabila laluan itu dibenarkan; kekalkan indeks dan dasar kepercayaan yang diperlukan. Resipi muat turun sejarah dengan setup.py boleh menggunakan subproses berbeza.
Jika mesin lain berjaya memasang, bandingkan artifak yang dipilih dahulu. Versi Python atau platformnya mungkin mempunyai wheel pra-bina yang serasi, manakala mesin ini memilih pengedaran sumber dan oleh itu memerlukan alat binaan.
Sediakan persekitaran binaan secara sengaja
--no-build-isolation memindahkan tanggungjawab ke atas kebergantungan binaan yang diperlukan kepada anda. Ia tidak membaiki pengesahan proksi atau kepercayaan sijil. Backend yang dipasang secara setempat boleh menyembunyikan keperluan yang hilang atau tidak serasi.
Untuk binaan luar talian secara sengaja, sediakan artifak sasaran, keperluan binaan dan alat yang diperlukan untuk projek dan platform melalui proses yang diluluskan. Direktori yang mengandungi hanya arkib sumber adalah tidak lengkap. Simpan keperluan dan peringkat yang gagal dalam laporan supaya laluan atau set artifak yang disediakan boleh dibetulkan.