Teruskan Proxy ke Proses pip yang Anda Jalankan
Panggil pip melalui interpreter Python yang dimaksudkan dan berikan --proxy sebagai argumen subprocess terpisah alih-alih mengimpor bagian internal pip.
Saat skrip provisioning yang ada perlu menjalankan pip melalui proxy, jalankan pip sebagai subprocess. Fungsi Python internal pip bukanlah API aplikasi yang didukung.
import subprocess
import sys
subprocess.run([
sys.executable,
'-m', 'pip', 'install',
'--proxy', 'http://proxy.example:8080',
'example-package',
], check=True)
Gunakan paket dan endpoint proxy yang dimaksudkan. Untuk unduhan paket publik yang diizinkan melalui perantara publik, daftar proxy HTTP menyediakan kandidat untuk argumen proxy HTTP. sys.executable memilih interpreter Python yang menjalankan skrip, sehingga menghindari pemanggilan pip dari instalasi lain dari PATH secara tidak sengaja.
Setiap argumen menempati elemen daftar terpisah. Tidak perlu shell, dan URL proxy tidak memerlukan pasangan tambahan tanda kutip shell yang disematkan. check=True memunculkan CalledProcessError jika instalasi gagal, sehingga alur kerja provisioning dapat menangani kegagalan tersebut.
Konfigurasikan rute unduhan pada pemanggilan pip ini atau pada lingkungan subprocess-nya. Sesi Requests yang dikonfigurasi di tempat lain dalam program induk tidak mengonfigurasi proses pip yang terpisah.
Setelah instalasi, lanjutkan siklus hidup lingkungan normal aplikasi. Memasang ke interpreter yang sudah berjalan tidak menjamin bahwa impor, cache, atau jalurnya saat ini langsung mencerminkan paket baru.