Python імпартаваў не той модуль socks, які вы чакалі
Праверце імпартаваны модуль, перш чым лічыць адсутныя атрыбуты SOCKS збоем проксі або DNS.
Памылка накшталт module 'socks' has no attribute 'create_connection' узнікае да паспяховага запыту праз проксі. Пачніце з модуля Python, які імпартавала праграма.
import sys
import socks
print(sys.executable)
print(socks.__file__)
print(getattr(socks, '__version__', 'unknown'))Гэтыя радкі праверкі паказваюць інтэрпрэтатар і імпартаваны файл. Чытайце іх у тым жа асяроддзі праграмы, дзе ўзнікае збой. Тэрмінал з іншым віртуальным асяроддзем можа імпартаваць іншы файл з той жа назвай.
Праверце, ці не засланяе мэтавую залежнасць лакальны файл або пакет socks.py. Шлях пошуку модуляў Python можа даць гэтаму файлу перавагу над усталяваным пакетам. Свядома перайміце выпадковае сутыкненне і перазапусціце працэс, які ўжо імпартаваў яго.
Крыніца PySocks змяшчае і set_default_proxy, і сумяшчальнае напісанне setdefaultproxy, а таксама create_connection. Таму слепае змяненне аднаго напісання не з’яўляецца поўнай дыягностыкай адсутнага атрыбута.
Калі імпартаваны модуль і версія правільныя, параўнайце код з дакументаваным API гэтага праекта. Пазбягайце ручнога дадання старонніх каталогаў сістэмных бібліятэк у шлях пошуку Python, пакуль імпарт не пачне працаваць. Гэта можа змяшаць версіі залежнасцей і пакінуць нявырашанай няўзгодненасць асяроддзя.