Памылка накшталт 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, пакуль імпарт не пачне працаваць. Гэта можа змяшаць версіі залежнасцей і пакінуць нявырашанай няўзгодненасць асяроддзя.

Падобныя артыкулы