การรองรับ SOCKS ของ pip ต้องมีการพึ่งพา SOCKS แบบเลือกได้พร้อมใช้ในตัวแปลภาษา Python ที่รัน pip หากตัวแปลภาษานั้นเข้าถึงดัชนีแพ็กเกจได้ทาง SOCKS เท่านั้น ให้ไปเอาการพึ่งพานั้นบนเครื่องอื่นที่เชื่อมต่อก่อน

บนเครื่องที่เชื่อมต่อ ให้เตรียมไดเรกทอรี wheel ขนาดเล็ก:

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

ถ่ายโอนไดเรกทอรีนั้นไปยังเครื่องเป้าหมาย แล้วใช้ตัวแปลภาษาที่กำหนดไว้สำหรับการติดตั้งภายในเครื่อง:

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

--no-index เก็บขั้นตอนเตรียมการนี้ไว้กับไฟล์ที่ให้มา ไม่ได้พยายามแก้ปัญหาการเชื่อมต่อเดิมด้วยการส่งคำขอดัชนีอีกครั้ง

เมื่อมีการพึ่งพาแล้ว สามารถเลือกเส้นทาง SOCKS สำหรับการดำเนินการกับแพ็กเกจจริงได้:

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

สำหรับการดาวน์โหลดแพ็กเกจสาธารณะที่ได้รับอนุญาตโดยไม่มีการยืนยันตัวตนพร็อกซี ให้แทนที่ปลายทางด้วยผู้สมัครจาก รายการพร็อกซี SOCKS5 และเลือกแพ็กเกจที่ต้องการ การสะกด socks5h ขอ การแปลงชื่อปลายทางผ่านพร็อกซี ส่วน socks5 เลือกการแปลงปลายทางภายในเครื่องในเส้นทางไคลเอนต์นี้

เก็บการติดตั้งเตรียมการและการดำเนินการกับแพ็กเกจไว้ในตัวแปลภาษาและสภาพแวดล้อมเดียวกัน การติดตั้ง PySocks ใน Python อื่นจะทำให้ import ของ pip เป้าหมายไม่เปลี่ยน การตรวจสอบที่มีประโยชน์คือคำสั่ง python -m pip ใดที่ทำงาน ไม่ใช่มีเทอร์มินัลอื่นรายงานว่าติดตั้ง PySocks แล้วหรือไม่

บทความที่เกี่ยวข้อง