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 के खोज पथ में जोड़ने से बचें। इससे निर्भरता संस्करण मिल सकते हैं और वास्तविक वातावरण असंगति अनसुलझी रह सकती है।

संबंधित लेख