Python importis alian modulon socks ol vi atendis
Inspektu la importitan modulon antaŭ ol konsideri mankantajn SOCKS-atributojn kiel proxy- aŭ DNS-fiaskon.
Eraro kiel module 'socks' has no attribute 'create_connection' aperas antaŭ sukcesa proxy-peto. Komencu per la Python-modulo, kiun la aplikaĵo importis.
import sys
import socks
print(sys.executable)
print(socks.__file__)
print(getattr(socks, '__version__', 'unknown'))Ĉi tiuj inspektaj linioj identigas la interpretilon kaj la importitan dosieron. Legu ilin en la sama aplikaĵa medio, kie ĝi fiaskas. Terminalo uzanta alian virtualan medion povas importi alian dosieron kun la sama nomo.
Kontrolu, ĉu loka dosiero aŭ pako socks.py ombras la celitan dependaĵon. La modulserĉa vojo de Python povas igi tiun dosieron venki super la instalita pako. Renomu intence hazardan kolizion kaj restartigu la procezon, kiu jam importis ĝin.
La fonto de PySocks enhavas kaj set_default_proxy kaj la kongruan literumadon setdefaultproxy, kune kun create_connection. Blindŝanĝi unu literumadon do ne estas kompleta diagnozo de mankanta atributo.
Post kiam la importita modulo kaj versio estas ĝustaj, komparu la kodon kun la dokumentita API de tiu projekto. Evitu permane aldoni nerilatajn sistem-bibliotekajn dosierujojn al la serĉa vojo de Python ĝis la importo ŝajne funkcias. Tio povas miksi dependaĵajn versiojn kaj lasi la suban medimalakordon nesolvita.