’n Fout soos module 'socks' has no attribute 'create_connection' gebeur voordat ’n proxyversoek slaag. Begin by die Python-module wat die toepassing ingevoer het.

import sys
import socks

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

Hierdie inspeksiereëls identifiseer die interpreteerder en die ingevoerde lêer. Lees hulle in dieselfde toepassingsomgewing wat misluk. ’n Terminal wat ’n ander virtuele omgewing gebruik, kan ’n ander lêer met dieselfde naam invoer.

Kyk vir ’n plaaslike socks.py-lêer of -pakket wat die bedoelde afhanklikheid oorskadu. Python se modulesoekpad kan daardie lêer bo die geïnstalleerde pakket laat wen. Hernoem ’n toevallige botsing doelbewus en herbegin die proses wat dit reeds ingevoer het.

PySocks se bron bevat beide set_default_proxy en die verenigbaarheidspelling setdefaultproxy, saam met create_connection. Om net een spelling blindelings te verander, is dus nie ’n volledige diagnose van ’n ontbrekende eienskap nie.

Sodra die ingevoerde module en weergawe korrek is, vergelyk die kode met daardie projek se gedokumenteerde API. Vermy om onverwante gidse van stelselbiblioteke met die hand by Python se soekpad te voeg totdat die invoer blyk te werk. Dit kan afhanklikheidsweergawes vermeng en die onderliggende omgewingswanverhouding onopgelos laat.

Verwante artikels