Pogreška poput module 'socks' has no attribute 'create_connection' javlja se prije uspješnog proxy zahtjeva. Započnite s Python modulom koji je aplikacija uvezla.

import sys
import socks

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

Ovi retci provjere pokazuju interpreter i uvezenu datoteku. Čitajte ih u istom aplikacijskom okruženju u kojem dolazi do kvara. Terminal s drugim virtualnim okruženjem može uvesti drugu datoteku istog naziva.

Provjerite zasjenjuje li lokalna datoteka ili paket socks.py željenu ovisnost. Pythonova putanja pretraživanja modula može dati toj datoteci prednost pred instaliranim paketom. Namjerno preimenujte slučajni sukob i ponovno pokrenite proces koji ga je već uvezao.

Izvorni kod PySocksa sadrži i set_default_proxy i kompatibilni zapis setdefaultproxy, zajedno s create_connection. Zato nasumična promjena jednoga zapisa nije potpuna dijagnoza nedostajućeg atributa.

Kad su uvezeni modul i verzija ispravni, usporedite kod s dokumentiranim API-jem tog projekta. Izbjegavajte ručno dodavanje nepovezanih direktorija sistemskih biblioteka u Pythonovu putanju pretraživanja dok se uvoz ne počne činiti ispravnim. To može pomiješati verzije ovisnosti i ostaviti temeljnu neusklađenost okruženja neriješenom.

Povezani članci