Python a importé un autre module socks que prévu
Inspectez le module importé avant de traiter des attributs SOCKS manquants comme une panne de proxy ou de DNS.
Une erreur telle que module 'socks' has no attribute 'create_connection' survient avant qu’une requête proxy n’aboutisse. Commencez par le module Python importé par l’application.
import sys
import socks
print(sys.executable)
print(socks.__file__)
print(getattr(socks, '__version__', 'unknown'))Ces lignes d’inspection identifient l’interpréteur et le fichier importé. Lisez-les dans le même environnement d’application que celui qui échoue. Un terminal utilisant un autre environnement virtuel peut importer un autre fichier du même nom.
Vérifiez si un fichier ou un paquet socks.py local masque la dépendance prévue. Le chemin de recherche des modules de Python peut faire gagner ce fichier sur le paquet installé. Renommez délibérément la collision accidentelle et redémarrez le processus qui l’a déjà importé.
La source de PySocks contient à la fois set_default_proxy et la graphie de compatibilité setdefaultproxy, ainsi que create_connection. Modifier aveuglément une seule graphie n’est donc pas un diagnostic complet d’un attribut manquant.
Une fois le module importé et la version corrects, comparez le code avec l’API documentée de ce projet. Évitez d’ajouter manuellement des répertoires de bibliothèques système sans rapport au chemin de recherche de Python tant que l’importation ne semble pas fonctionner. Cela peut mélanger des versions de dépendances et laisser l’incohérence d’environnement sous-jacente non résolue.