pipでプロキシ経由のインストールを行う
1回のpipコマンドにプロキシを渡し、設定の優先順位を調べ、trusted-hostを代理の回避策にせず証明書の信頼設定を修正します。
1回だけインストールする場合、pipはコマンドラインで直接プロキシを受け取れます。ユーザーやシステムの恒久設定ファイルを書かずに経路を試せます。
python -m pip --proxy http://203.0.113.10:8080 install requests
文書用IPの代わりに、利用サービスかHTTPプロキシ一覧から選んだエンドポイントを使います。python -m pipで実行すると、独立したpip実行ファイルがその環境に属すると仮定するより、対象のPython環境が明確になります。
プロキシURLが表すのはプロキシ接続です。http://で始まっていても、パッケージインデックスやダウンロードにはCONNECT経由のHTTPSを使えます。
pipが別の設定を選び続ける場合
pip自身のオプションでは、コマンドライン引数が環境変数に優先し、環境変数が設定ファイルに優先します。関連ファイルはグローバル、ユーザー、仮想環境の各レベルに存在する場合があります。PIP_CONFIG_FILEで追加の設定ファイルを指定できます。
python -m pip config debug
pipが参照する設定元が表示されます。ファイルや環境の値に非公開URLや認証情報が含まれる場合があるため、ローカルで確認してください。
PIP_PROXYと一般的なHTTP/HTTPSプロキシ環境変数も調べます。すべてが同じ設定層ではなく、実際の経路の調査では通常のプロキシ環境処理も影響し得ます。ユーザーファイルの1項目を消しただけで、考えられる設定元がすべてなくなったと思わないでください。
プロキシオプションは証明書の信頼を修復しない
経路がHTTPSサービスに到達しても検証に失敗する場合は、クライアントがどの証明書を受け取ったか確認します。許可された検査構成では、承認済みCAバンドルが必要な場合があります。
python -m pip --proxy http://203.0.113.10:8080 \
--cert /path/to/approved-ca-bundle.pem install requests
--trusted-hostは有効なHTTPSがなくてもホストを信頼済みとします。プロキシIPを設定するものではなく、証明書エラーの常套対処にするべきでもありません。エンドポイントか信頼設定を修正してください。
pip 24.2は対応ランタイムで、certifiとともにシステム証明書を既定で使うようにしました。それ以前のpipはOSのCAストアを自動使用しませんでした。これにより、承認済み組織CAがあるPython環境で使え、別の環境で欠けている理由を説明できる場合があります。
1回のコマンドのproxy引数は、コマンド終了後には効力を失います。後で永続設定を保存するなら、実際に意図する範囲に置き、テストしただけのエンドポイントにすべてのPython環境を依存させないでください。