Per una singola installazione, pip accetta un proxy direttamente sulla riga di comando. Puoi provare un percorso senza scrivere configurazioni permanenti utente o di sistema:

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

Usa un endpoint scelto nel tuo servizio o nella lista dei proxy HTTP al posto dell’IP documentale. Eseguire python -m pip chiarisce anche l’ambiente Python previsto, invece di presumere che un eseguibile pip separato gli appartenga.

L’URL del proxy descrive la connessione al proxy. Può iniziare con http:// mentre indice dei pacchetti e download usano HTTPS tramite CONNECT.

Se pip continua a scegliere un’altra impostazione

Per le opzioni di pip, gli argomenti di comando prevalgono sulle variabili d’ambiente, che prevalgono sui file di configurazione. I file possono essere globali, utente o dell’ambiente virtuale. PIP_CONFIG_FILE può selezionare un file aggiuntivo.

python -m pip config debug

Questo elenca le fonti di configurazione considerate da pip. Controllale localmente: file e valori d’ambiente possono contenere URL privati o credenziali.

Esamina anche PIP_PROXY e le normali variabili proxy HTTP/HTTPS. Non sono tutte nello stesso livello; la gestione standard dell’ambiente proxy può ancora contare per diagnosticare il percorso reale. Non presumere che eliminare una voce dal file utente rimuova ogni possibile fonte.

Un’opzione proxy non ripara la fiducia nei certificati

Se il percorso raggiunge un servizio HTTPS ma la verifica fallisce, scopri quale certificato ha ricevuto il client. Un’ispezione autorizzata può richiedere un bundle CA approvato:

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

--trusted-host considera affidabile un host anche senza HTTPS valido. Non configura l’IP del proxy e non dovrebbe essere la risposta abituale a un errore di certificato. Correggi invece endpoint o configurazione di fiducia.

pip 24.2 ha introdotto i certificati di sistema insieme a certifi come impostazione predefinita sui runtime supportati. Le versioni precedenti non usavano automaticamente l’archivio CA del sistema operativo. Questo può spiegare perché una CA aziendale approvata funziona in un ambiente Python ma manca in un altro.

L’argomento proxy di un solo comando smette di valere alla fine del comando. Se salvi poi un’impostazione persistente, mettila nell’ambito voluto, senza rendere ogni ambiente Python dipendente da un endpoint usato solo per prova.

Articoli correlati