پشتیبانی SOCKS در pip به این نیاز دارد که وابستگی اختیاری SOCKS برای مفسر پایتونی که 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 در پایتون دیگر، واردات pip مقصد را بی‌تغییر می‌گذارد. بررسی سودمند این است که کدام فرمان python -m pip کار را انجام می‌دهد، نه اینکه ترمینال دیگری بگوید PySocks نصب شده است.

مقالات مرتبط