Conda 環境を有効化するのは、環境を選ぶ操作です。その中のすべてのプログラムが Conda の設定を使うようになるわけではありません。Conda と pip は別々のダウンロードクライアントです。

Conda では .condarc にプロキシ経路を設定できます。

proxy_servers:
  http: http://203.0.113.10:8080
  https: http://203.0.113.10:8080

これらの例の値は、それぞれのスキームの宛先にどう到達するかを Conda に指示します。pip はその環境にインストールされているというだけで proxy_servers の対応表を自動採用しません。

両方の設定を確認する

Conda の設定元と、有効な Python に対応する pip を確認します。

conda config --show-sources
python -m pip --version
python -m pip config debug

出力から、異なる設定場所、想定外のインタープリター、ある試験では使われなかった環境変数が分かる場合があります。共有する前にプライベートな URL と認証情報を確認してください。

pip には文書化されたプロキシオプション、pip 専用設定、または適切なネットワーク環境を使います。.condarc の YAML セクションを pip の INI ファイルに直接コピーしないでください。

信頼設定も別々

Conda の ssl_verify は CA バンドルを指定したり、対応バージョンと Python ランタイムでは truststore でシステムの信頼を選んだりできます。これは pip の信頼元を設定する命令ではありません。

プロキシが承認済みの TLS 検査を行う場合、各クライアントがその認証局をどう信頼するか確認します。Conda のリクエスト成功は、そのリクエストで Conda 自身の経路と信頼が機能したことを示すだけで、pip が同じ設定を受け取った証拠ではありません。

実際の宛先を比較する

クライアントは異なるパッケージインデックスやファイルホストを使う場合があります。あるチャネルを許可する中継点が、別のインデックスや後続のアーカイブ URL を拒否することもあります。選択した Python 環境だけに原因を帰す前に、失敗したホスト名と応答を確認します。

有用な報告には、インタープリター、各クライアントの設定元、要求先ホスト、最初の接続または証明書エラーを示します。「Conda は動く」は比較の出発点であり、pip のネットワーク経路全体を試験したことにはなりません。

関連記事