Napaka, kot je module 'socks' has no attribute 'create_connection', se pojavi pred uspešno zahtevo proxy. Začnite s Pythonovim modulom, ki ga je aplikacija uvozila.

import sys
import socks

print(sys.executable)
print(socks.__file__)
print(getattr(socks, '__version__', 'unknown'))

Te vrstice za pregled določajo tolmač in uvoženo datoteko. Berite jih v istem okolju aplikacije, kjer pride do napake. Terminal z drugim navideznim okoljem lahko uvozi drugo datoteko z istim imenom.

Preverite, ali lokalna datoteka ali paket socks.py zasenči predvideno odvisnost. Pythonova pot iskanja modulov lahko povzroči, da ta datoteka premaga nameščeni paket. Naključno kolizijo namenoma preimenujte in znova zaženite proces, ki jo je že uvozil.

Izvorna koda PySocks vsebuje tako set_default_proxy kot združljiv zapis setdefaultproxy, skupaj s create_connection. Zato slepa sprememba enega zapisa ni popolna diagnoza manjkajočega atributa.

Ko sta uvožen modul in različica pravilna, primerjajte kodo z dokumentiranim API-jem tega projekta. Izogibajte se ročnemu dodajanju nepovezanih imenikov sistemskih knjižnic v Pythonovo pot iskanja, dokler se uvoz ne zdi delujoč. To lahko zmeša različice odvisnosti in pusti osnovno neusklajenost okolja nerazrešeno.

Sorodni članki