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-ის ძიების გზაში უკავშირო სისტემური ბიბლიოთეკების საქაღალდეების ხელით დამატებას, სანამ შემოტანა მუშაობად არ გამოჩნდება. ამან შეიძლება დამოკიდებულებების ვერსიები აურიოს და ძირეული გარემოს შეუსაბამობა გადაუჭრელი დატოვოს.

დაკავშირებული სტატიები