Laikykite PyCharm derintuvo ryšį už tarpinio serverio grandinės
Apvyniokite pasirinktą Python interpretatorių Proxychains, išsaugodami argumentus ir tiesioginį loopback maršrutą į derintuvą.
Proxychains aplink Python derinimo procesą gali pagauti du skirtingus ryšius: išeinantį scenarijaus paslaugos ryšį ir jo vietinį ryšį atgal į PyCharm. Derintuvui reikia, kad pastarasis liktų vietinis.
Kai IDE ir pagrindinė sistema palaiko interpretatoriaus apvalkalą, nukreipkite jį į tikrąjį projekto interpretatorių:
#!/bin/sh
exec /usr/bin/proxychains4 -f /home/alex/proxychains-debug.conf "/home/alex/project/.venv/bin/python" "$@"Pakeiskite abu vykdomųjų failų kelius ir konfigūracijos kelią. Perduodant "$@" išsaugomi atskiri IDE derintuvo argumentai. exec neleidžia paleistam procesui palikti nereikalingo apvalkalo tarp IDE ir jo atžalos.
Toje specialioje Proxychains konfigūracijoje palikite numatytą grandinę ir pridėkite atitinkamą tiesioginę loopback išimtį:
localnet 127.0.0.0/255.0.0.0
localnet ::1/128Šios taisyklės apeina grandinę skaitiniams loopback tikslams. Pateikta aukštesnio lygio konfigūracija dokumentuoja pagrindinio kompiuterio vardų sutapatinimo su proxy_dns apribojimus, todėl diagnozuodami tą kelią pirmenybę teikite tikrajam skaitiniam derintuvo loopback adresui. Nedėkite nuotolinio DNS susiejimo potinklio į tą patį išskirtą diapazoną.
Išsaugokite interpretatoriaus tapatybę
Naudojant /usr/bin/python3 apvalkale galima tyliai pasirinkti kitą aplinką iš projekto .venv. Tada trūkstami paketai atrodo kaip su tarpiniu serveriu susijusi klaida, nors buvo paleistas kitas interpretatorius.
Proxychains remiasi palaikomu dinaminių bibliotekų perėmimu. IDE, atmetantis apvalkalą kaip interpretatorių, apsaugotas macOS procesas ar statiškai susietas tinklo klientas yra atskira suderinamumo sąlyga. Apribokite išdėstymą numatytu Python procesu ir patikrinkite pasirinktą interpretatorių IDE konfigūracijoje.