Kļūda, piemēram, module 'socks' has no attribute 'create_connection', rodas pirms veiksmīga proxy pieprasījuma. Sāciet ar Python moduli, ko importēja lietojumprogramma.

import sys
import socks

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

Šīs pārbaudes rindas norāda interpretatoru un importēto failu. Lasiet tās tajā pašā lietojumprogrammas vidē, kurā rodas kļūme. Terminālis ar citu virtuālo vidi var importēt citu failu ar tādu pašu nosaukumu.

Pārbaudiet, vai vietējais socks.py fails vai pakotne neaizsedz paredzēto atkarību. Python moduļu meklēšanas ceļš var likt šim failam uzvarēt instalēto pakotni. Apzināti pārdēvējiet nejaušu sadursmi un restartējiet procesu, kas to jau importējis.

PySocks pirmkodā ir gan set_default_proxy, gan saderīgais rakstījums setdefaultproxy, kā arī create_connection. Tāpēc akli mainīt vienu rakstījumu nav pilnīga trūkstoša atribūta diagnostika.

Kad importētais modulis un versija ir pareizi, salīdziniet kodu ar šī projekta dokumentēto API. Izvairieties manuāli pievienot nesaistītas sistēmas bibliotēku mapes Python meklēšanas ceļam, līdz imports šķiet strādājam. Tas var sajaukt atkarību versijas un atstāt pamatā esošo vides neatbilstību neatrisinātu.

Saistītie raksti