O eroare precum module 'socks' has no attribute 'create_connection' apare înainte de o cerere proxy reușită. Începeți cu modulul Python pe care aplicația l-a importat.

import sys
import socks

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

Aceste linii de inspecție identifică interpretorul și fișierul importat. Citiți-le în același mediu al aplicației în care apare eroarea. Un terminal care folosește alt mediu virtual poate importa alt fișier cu același nume.

Verificați dacă un fișier sau pachet socks.py local umbrește dependența dorită. Calea de căutare a modulelor din Python poate face ca acel fișier să învingă pachetul instalat. Redenumiți deliberat coliziunea accidentală și reporniți procesul care l-a importat deja.

Sursa PySocks conține atât set_default_proxy, cât și grafia de compatibilitate setdefaultproxy, împreună cu create_connection. Prin urmare, schimbarea orbească a unei singure grafii nu este un diagnostic complet al unui atribut lipsă.

După ce modulul importat și versiunea sunt corecte, comparați codul cu API-ul documentat al acelui proiect. Evitați adăugarea manuală de directoare de biblioteci de sistem fără legătură în calea de căutare a Python până când importul pare să funcționeze. Aceasta poate amesteca versiuni ale dependențelor și poate lăsa nerezolvată nepotrivirea de mediu de bază.

Articole similare