Python نے آپ کی توقع سے مختلف socks ماڈیول درآمد کیا
غائب SOCKS خصوصیات کو proxy یا DNS ناکامی ماننے سے پہلے درآمد شدہ ماڈیول کا معائنہ کریں۔
module 'socks' has no attribute 'create_connection' جیسی خرابی کامیاب proxy درخواست سے پہلے ہوتی ہے۔ اُس Python ماڈیول سے شروع کریں جو ایپلیکیشن نے درآمد کیا۔
import sys
import socks
print(sys.executable)
print(socks.__file__)
print(getattr(socks, '__version__', 'unknown'))یہ معائنہ لائنیں انٹرپریٹر اور درآمد شدہ فائل کی نشاندہی کرتی ہیں۔ اِنہیں اُسی ایپلیکیشن ماحول میں پڑھیں جہاں ناکامی ہوتی ہے۔ مختلف virtual environment والا ٹرمینل اسی نام کی کوئی دوسری فائل درآمد کر سکتا ہے۔
دیکھیں کہ کوئی مقامی socks.py فائل یا پیکیج مطلوبہ انحصار کو چھپا نہیں رہا۔ Python کا ماڈیول تلاش کا راستہ اُس فائل کو نصب شدہ پیکیج پر فوقیت دے سکتا ہے۔ حادثاتی ٹکراؤ کا نام جان بوجھ کر بدلیں اور اُس عمل کو دوبارہ شروع کریں جس نے اُسے پہلے ہی درآمد کر لیا ہے۔
PySocks کے ماخذ میں set_default_proxy اور موافق ہجے setdefaultproxy دونوں موجود ہیں، نیز create_connection بھی۔ لہٰذا صرف ایک ہجے کو اندھا دھند بدلنا کسی غائب خصوصیت کی مکمل تشخیص نہیں۔
درآمد شدہ ماڈیول اور ورژن درست ہونے کے بعد، کوڈ کا موازنہ اُس منصوبے کے دستاویزی API سے کریں۔ جب تک درآمد کام کرتا دکھائی نہ دے، غیر متعلق سسٹم لائبریری ڈائریکٹریاں ہاتھ سے Python کے تلاش کے راستے میں شامل کرنے سے گریز کریں۔ یہ انحصار کے ورژن ملا سکتا ہے اور بنیادی ماحول کی عدم مطابقت کو حل کیے بغیر چھوڑ سکتا ہے۔