Python ha importat un mòdul socks diferent del que esperàveu
Inspeccioneu el mòdul importat abans de tractar els atributs SOCKS que falten com una fallada de proxy o DNS.
Un error com module 'socks' has no attribute 'create_connection' es produeix abans que una sol·licitud de proxy tingui èxit. Comenceu pel mòdul de Python que ha importat l’aplicació.
import sys
import socks
print(sys.executable)
print(socks.__file__)
print(getattr(socks, '__version__', 'unknown'))Aquestes línies d’inspecció identifiquen l’intèrpret i el fitxer importat. Llegiu-les en el mateix entorn d’aplicació on falla. Un terminal amb un entorn virtual diferent pot importar un altre fitxer amb el mateix nom.
Comproveu si un fitxer o paquet socks.py local emmascara la dependència prevista. El camí de cerca de mòduls de Python pot fer que aquest fitxer guanyi davant del paquet instal·lat. Canvieu de nom deliberadament la col·lisió accidental i reinicieu el procés que ja l’ha importat.
El codi font de PySocks conté tant set_default_proxy com la grafia de compatibilitat setdefaultproxy, juntament amb create_connection. Per tant, canviar una sola grafia a cegues no és un diagnòstic complet d’un atribut que falta.
Un cop el mòdul importat i la versió siguin correctes, compareu el codi amb l’API documentada d’aquell projecte. Eviteu afegir manualment directoris de biblioteques del sistema no relacionats al camí de cerca de Python fins que la importació sembli funcionar. Això pot barrejar versions de dependències i deixar sense resoldre el desajustament subjacent de l’entorn.