module 'socks' has no attribute 'create_connection'-এর মতো ত্রুটি সফল প্রক্সি অনুরোধের আগেই ঘটে। অ্যাপ্লিকেশন যে Python মডিউল আমদানি করেছে সেখান থেকেই শুরু করুন।

import sys
import socks

print(sys.executable)
print(socks.__file__)
print(getattr(socks, '__version__', 'unknown'))

এই পরিদর্শন লাইনগুলি ইন্টারপ্রেটার ও আমদানি করা ফাইল চিহ্নিত করে। যে অ্যাপ্লিকেশন পরিবেশে ব্যর্থতা ঘটে সেখানেই সেগুলি পড়ুন। ভিন্ন virtual environment ব্যবহারকারী টার্মিনাল একই নামের অন্য ফাইল আমদানি করতে পারে।

স্থানীয় socks.py ফাইল বা প্যাকেজ প্রত্যাশিত নির্ভরতাকে ছায়া দিচ্ছে কি না দেখুন। Python-এর মডিউল অনুসন্ধান পথ সেই ফাইলকে ইনস্টল করা প্যাকেজের উপরে রাখতে পারে। আকস্মিক সংঘর্ষের নাম সচেতনভাবে বদলান এবং যে প্রক্রিয়া এটি ইতিমধ্যে আমদানি করেছে তা পুনরায় চালু করুন।

PySocks-এর সোর্সে set_default_proxy এবং সামঞ্জস্যপূর্ণ বানান setdefaultproxy উভয়ই আছে, সঙ্গে create_connection। তাই একটি বানান অন্ধভাবে বদলানো অনুপস্থিত অ্যাট্রিবিউটের সম্পূর্ণ রোগনির্ণয় নয়।

আমদানি করা মডিউল ও সংস্করণ সঠিক হওয়ার পরে কোডটি সেই প্রকল্পের নথিভুক্ত API-এর সঙ্গে তুলনা করুন। আমদানি কাজ করছে বলে মনে হওয়ার আগে পর্যন্ত Python-এর অনুসন্ধান পথে অসম্পর্কিত সিস্টেম লাইব্রেরি ডিরেক্টরি হাতে যোগ করা এড়িয়ে চলুন। এটি নির্ভরতার সংস্করণ মিশিয়ে দিতে পারে এবং মূল পরিবেশের অমিল অমীমাংসিত রেখে দিতে পারে।

সম্পর্কিত নিবন্ধ