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-ի որոնման ուղուց ձեռքով չկապված համակարգային գրադարանների պանակներ ավելացնելուց, քանի դեռ ներմուծումը չի թվում աշխատող։ Դա կարող է խառնել կախվածությունների տարբերակները և թողնել հիմքում ընկած միջավայրի անհամապատասխանությունը չլուծված։

Առնչվող հոդվածներ