Python importoi një modul socks tjetër nga sa prisnit
Inspektoni modulin e importuar përpara se t’i trajtoni atributet SOCKS që mungojnë si dështim proxy ose DNS.
Një gabim si module 'socks' has no attribute 'create_connection' ndodh përpara se një kërkesë proxy të ketë sukses. Filloni me modulin Python që importoi aplikacioni.
import sys
import socks
print(sys.executable)
print(socks.__file__)
print(getattr(socks, '__version__', 'unknown'))Këto rreshta inspektimi identifikojnë interpretuesin dhe skedarin e importuar. Lexojini në të njëjtin mjedis aplikacioni ku ndodh dështimi. Një terminal që përdor një mjedis tjetër virtual mund të importojë një skedar tjetër me të njëjtin emër.
Kontrolloni nëse një skedar ose paketë socks.py lokale po hijeshon varësinë e synuar. Rruga e kërkimit të moduleve në Python mund ta bëjë atë skedar të fitojë ndaj paketës së instaluar. Riemërtoni me qëllim përplasjen aksidentale dhe rinisni procesin që e ka importuar tashmë.
Kodi burim i PySocks përmban si set_default_proxy ashtu edhe shkrimin e përputhshmërisë setdefaultproxy, së bashku me create_connection. Prandaj ndryshimi i verbër i një shkrimi nuk është diagnozë e plotë e një atributi që mungon.
Pasi moduli i importuar dhe versioni të jenë të saktë, krahasoni kodin me API-n e dokumentuar të atij projekti. Shmangni shtimin manual të drejtorive të bibliotekave të sistemit që nuk lidhen me rrugën e kërkimit të Python, derisa importimi të duket se funksionon. Kjo mund të përziejë versione varësish dhe të lërë të pazgjidhur mospërputhjen themelore të mjedisit.