Python importis teistsuguse socks-mooduli, kui ootasid
Uuri importitud moodulit enne, kui tõlgendad puuduvaid SOCKS-atribuute proxy või DNS-i tõrkena.
Viga nagu module 'socks' has no attribute 'create_connection' tekib enne eduka proxy-päringu toimumist. Alusta Pythoni moodulist, mille rakendus importis.
import sys
import socks
print(sys.executable)
print(socks.__file__)
print(getattr(socks, '__version__', 'unknown'))Need kontrollread tuvastavad interpretaatori ja imporditud faili. Loe neid samas rakenduse keskkonnas, kus tõrge ilmneb. Teist virtuaalkeskkonda kasutav terminal võib importida teise sama nimega faili.
Kontrolli, kas kohalik socks.py fail või pakett varjutab kavandatud sõltuvust. Pythoni mooduliotsingu teekond võib panna selle faili paigaldatud paketist ettepoole. Nimeta juhuslik kokkupõrge teadlikult ümber ja taaskäivita protsess, mis on selle juba importinud.
PySocksi lähtekood sisaldab nii set_default_proxy kui ka ühilduvat kirjaviisi setdefaultproxy, samuti create_connection. Seega ei ole ühe kirjaviisi pimesi muutmine puuduva atribuudi täielik diagnoos.
Kui imporditud moodul ja versioon on õiged, võrdle koodi selle projekti dokumenteeritud API-ga. Väldi süsteemiteekide kataloogide käsitsi lisamist Pythoni otsinguteele, kuni import tundub töötavat. See võib sõltuvuste versioone segada ja jätta keskkonna tegeliku mittevastavuse lahendamata.