Грешка како module 'socks' has no attribute 'create_connection' се јавува пред успешно барање преку proxy. Започнете со модулот 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 додека импортот не изгледа дека работи. Тоа може да ги помеша верзиите на зависности и да го остави нерешено основното несовпаѓање на опкружувањето.

Поврзани статии