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-ന്റെ തിരയൽ പാതയിൽ ചേർക്കുന്നത് ഒഴിവാക്കുക. അത് ആശ്രിതത്വ പതിപ്പുകൾ കലർത്തുകയും അടിസ്ഥാന പരിസ്ഥിതി പൊരുത്തക്കേട് പരിഹരിക്കാതെ വിടുകയും ചെയ്തേക്കാം.