Dukungan SOCKS pada pip membutuhkan dependensi SOCKS opsional yang tersedia bagi interpreter Python yang menjalankan pip. Jika interpreter itu hanya dapat menjangkau indeks paket melalui SOCKS, ambil dependensinya lebih dulu di mesin lain yang terhubung.

Di mesin yang terhubung, siapkan direktori wheel kecil:

python -m pip download --only-binary=:all: --dest wheelhouse PySocks

Pindahkan direktori itu ke mesin tujuan, lalu gunakan interpreter yang dimaksudkan untuk instalasi lokal:

python -m pip install --no-index --find-links wheelhouse PySocks

--no-index menahan langkah penyiapan ini pada berkas yang disediakan. Perintah ini tidak mencoba menyelesaikan masalah konektivitas awal dengan permintaan indeks lain.

Setelah dependensi tersedia, rute SOCKS dapat dipilih untuk operasi paket yang sebenarnya:

python -m pip install --proxy socks5h://proxy.example.net:1080 package_name

Untuk unduhan paket publik yang diizinkan tanpa autentikasi proxy, ganti titik akhir dengan kandidat dari daftar proxy SOCKS5 dan pilih paket yang dimaksud. Ejaan socks5h meminta resolusi nama tujuan melalui proxy; socks5 memilih resolusi tujuan lokal pada jalur klien ini.

Jaga instalasi penyiapan dan operasi paket pada interpreter dan lingkungan yang sama. Memasang PySocks ke Python lain membuat impor pip tujuan tidak berubah. Pemeriksaan yang berguna adalah perintah python -m pip mana yang menjalankan tugas, bukan apakah terminal lain melaporkan PySocks terpasang.

Artikel terkait