Python நீங்கள் எதிர்பார்த்ததிலிருந்து வேறுபட்ட socks தொகுதியை இறக்குமதி செய்தது
காணாமல் போன SOCKS பண்புகளை proxy அல்லது DNS தோல்வியாகக் கருதும் முன் இறக்குமதி செய்யப்பட்ட தொகுதியை ஆய்வு செய்யுங்கள்.
module 'socks' has no attribute 'create_connection' போன்ற பிழை வெற்றிகரமான proxy கோரிக்கைக்கு முன் ஏற்படுகிறது. பயன்பாடு இறக்குமதி செய்த 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 இன் தேடல் பாதையில் சேர்க்க வேண்டாம். அது சார்பு பதிப்புகளைக் கலக்கி, அடிப்படைச் சூழல் பொருந்தாமையைத் தீர்க்காமல் விடக்கூடும்.