Dla jednej instalacji pip przyjmuje proxy bezpośrednio w wierszu poleceń. Możesz wypróbować trasę bez zapisywania stałej konfiguracji użytkownika lub systemu:

python -m pip --proxy http://203.0.113.10:8080 install requests

Zamiast dokumentacyjnego IP użyj punktu ze swojej usługi lub listy proxy HTTP. Uruchomienie python -m pip wyraźniej określa też docelowe środowisko Python niż założenie, że osobny program pip do niego należy.

URL proxy opisuje połączenie z proxy. Może zaczynać się od http://, podczas gdy indeks pakietów i pobieranie używają HTTPS przez CONNECT.

Jeśli pip nadal wybiera inne ustawienie

Dla własnych opcji pip argumenty wiersza poleceń zastępują zmienne środowiska, a te pliki konfiguracyjne. Pliki mogą być globalne, użytkownika lub środowiska wirtualnego. PIP_CONFIG_FILE może wybrać dodatkowy plik.

python -m pip config debug

To pokazuje źródła konfiguracji uwzględniane przez pip. Przeglądaj lokalnie: pliki i wartości środowiska mogą zawierać prywatne URL-e lub dane logowania.

Sprawdź też PIP_PROXY i zwykłe zmienne proxy HTTP/HTTPS. Nie wszystkie należą do tej samej warstwy; standardowa obsługa środowiska proxy nadal może wpływać na rzeczywistą trasę. Nie zakładaj, że usunięcie jednego wpisu użytkownika usunęło wszystkie źródła.

Opcja proxy nie naprawia zaufania certyfikatów

Jeśli trasa dociera do usługi HTTPS, lecz weryfikacja zawodzi, ustal, jaki certyfikat otrzymał klient. Autoryzowana inspekcja może wymagać zatwierdzonego pakietu CA:

python -m pip --proxy http://203.0.113.10:8080 \
  --cert /path/to/approved-ca-bundle.pem install requests

--trusted-host oznacza host jako zaufany nawet bez poprawnego HTTPS. Nie konfiguruje IP proxy i nie powinno być rutynową odpowiedzią na błąd certyfikatu. Popraw punkt końcowy lub konfigurację zaufania.

pip 24.2 wprowadził domyślnie certyfikaty systemowe obok certifi w obsługiwanych środowiskach wykonawczych. Starszy pip nie używał automatycznie magazynu CA systemu. To może wyjaśnić, dlaczego zatwierdzone CA organizacji działa w jednym środowisku Python, ale nie ma go w innym.

Argument proxy pojedynczego polecenia przestaje działać po zakończeniu. Jeśli później zapiszesz stałe ustawienie, umieść je we właściwym zakresie, zamiast uzależniać każde środowisko Python od punktu używanego tylko do testu.

Powiązane artykuły