Python importerte ein annan socks-modul enn du venta
Undersøk den importerte modulen før du handsamar manglande SOCKS-attributt som ein proxy- eller DNS-feil.
Ein feil som module 'socks' has no attribute 'create_connection' oppstår før ei vellukka proxy-førespurnad. Start med Python-modulen applikasjonen importerte.
import sys
import socks
print(sys.executable)
print(socks.__file__)
print(getattr(socks, '__version__', 'unknown'))Desse inspeksjonslinjene identifiserer tolken og den importerte fila. Les dei i det same applikasjonsmiljøet der det feilar. Ein terminal med eit anna virtuelt miljø kan importere ei anna fil med same namn.
Kontroller om ei lokal fil eller pakke socks.py skuggar for den tiltenkte avhengnaden. Modulsøkjevegen til Python kan gjere at den fila vinn over den installerte pakka. Gi ein utilsikta kollisjon eit nytt namn med vilje, og start prosessen som allereie har importert han, på nytt.
PySocks-kjeldekoden inneheld både set_default_proxy og den kompatible stavemåten setdefaultproxy, saman med create_connection. Å endre éin stavemåte blindt er difor ikkje ein fullstendig diagnose av eit manglande attributt.
Når den importerte modulen og versjonen er riktige, samanlikn koden med det dokumenterte API-et til prosjektet. Unngå å leggje til urelaterte systembibliotekmappar manuelt i søkjevegen til Python før importen ser ut til å verke. Det kan blande avhengigheitsversjonar og la den underliggjande miljøuoverensstemminga stå uløyst.