Python importerte en annen socks-modul enn forventet
Undersøk den importerte modulen før du behandler manglende SOCKS-attributter som en proxy- eller DNS-feil.
En feil som module 'socks' has no attribute 'create_connection' oppstår før en vellykket proxy-forespørsel. Start med Python-modulen applikasjonen importerte.
import sys
import socks
print(sys.executable)
print(socks.__file__)
print(getattr(socks, '__version__', 'unknown'))Disse inspeksjonslinjene identifiserer tolken og den importerte filen. Les dem i det samme applikasjonsmiljøet der det feiler. En terminal med et annet virtuelt miljø kan importere en annen fil med samme navn.
Kontroller om en lokal fil eller pakke socks.py skygger for den tiltenkte avhengigheten. Pythons modulsøkebane kan gjøre at den filen vinner over den installerte pakken. Gi en utilsiktet kollisjon et nytt navn med vilje, og start prosessen som allerede har importert den, på nytt.
PySocks-kildekoden inneholder både set_default_proxy og den kompatible stavemåten setdefaultproxy, sammen med create_connection. Å endre én stavemåte blindt er derfor ikke en fullstendig diagnose av et manglende attributt.
Når den importerte modulen og versjonen er riktige, sammenlign koden med prosjektets dokumenterte API. Unngå å legge til urelaterte systembibliotekmapper manuelt i Pythons søkebane før importen ser ut til å virke. Det kan blande avhengighetsversjoner og la den underliggende miljøuoverensstemmelsen stå uløst.