web-dev-qa-db-ja.com

認証プロキシの背後のウィンドウでpipを使用する方法

私のコンピューターは(Active Directoryを使用して)Windowsサーバー上のプロキシの背後でWindowsを実行しているため、pip(python3で)を使用してそれを通過する方法がわかりません。 --proxyを使用してみましたが、それでもタイムアウトします。また、長いタイムアウト(60秒)を設定しようとしましたが、違いはありませんでした。私のプロキシ設定は正しいので、TortoiseHGで正常に使用しているプロキシ設定と比較して確認しました。

私が試すことができることを誰もが知っている他のトリックがありますか、またはWindowsプロキシに関してpipにいくつかの制限がありますか?

更新: pypiの検索に失敗した私の試み。私は実際に何かをインストールしようとしましたが、うまくいきました。それでも検索は失敗します。これはpipのバグを示していますか、それとも異なる動作をしますか?

74
aquavitae

会社のNTLM認証プロキシで動作する2つのオプションを試しました。オプション1は--proxy http://user:pass@proxyAddress:proxyPortを使用することです

それでも問題が解決しない場合は、プロキシ認証サービスをインストールし( CNTLM を使用)、pipを指すようにすることをお勧めします。つまり、--proxy http://localhost:3128のようなものです。

90
Russell

これを理解するのに数時間かかりましたが、ついにCNTLMを使用して動作するようになり、その後、pip configファイルだけで動作するようになりました。これが、pip configファイルでどのように動作するかです...

解決策:

1。Windowsでユーザープロファイルディレクトリ(例:C:\ Users\Sync)に移動し、「pip "

2。このディレクトリに「pip.ini」という名前のファイルを作成します(例:C:\ Users\Sync\pip\pip.ini)そして、それに以下を入力します:

    [global]
    trusted-Host = pypi.python.org
                   pypi.org
                   files.pythonhosted.org
    proxy = http://[domain name]%5C[username]:[password]@[proxy address]:[proxy port]

置換[ドメイン名][ユーザー名][パスワード][プロキシアドレス]および [プロキシポート]と独自の情報。

3。この時点で、「pip install」を実行できました問題なく。

うまくいけば、これは他の人にも有効です!

追伸:これは、パスワードがプレーンテキストで保存されているため、セキュリティ上の懸念を引き起こす可能性があります。これが問題になる場合は、 この記事 (プレーンテキストの代わりにハッシュ化されたパスワードの使用を許可)を使用してCNTLMをセットアップすることを検討してください。その後、上記の「pip.ini」ファイルにproxy = 127.0.0.1:3128を設定します。

45
Sync

これは私がそれを設定する方法です:

  1. 管理者としてコマンドプロンプト(CMD)を開きます。
  2. プロキシ設定をエクスポートします。

    set http_proxy=http://username:password@proxyAddress:port

    set https_proxy=https://username:password@proxyAddress:port

  3. インストールするパッケージをインストールします。

    pip install PackageName

例えば:

Example

38
Heinrich Cloete

Windows 7でも同じ問題が発生しました。「pip.ini」ファイルを含む「pip」フォルダーを作成することで、問題を解決できました。このフォルダーを「C:\ Users\{my.username}\AppData\Roaming」内に配置しました。これは、Pythonドキュメントによると:

Windowsでは、構成ファイルは%APPDATA%\ pip\pip.iniです。

Pip.iniファイルには次のものしかありません。

[global]
proxy = [proxy address]:[proxy port]

したがって、ユーザー名:パスワードはありません。そして、それはうまく機能しています。

15
stann1

同様の問題があり、私の会社がNTLMプロキシ認証を使用していることがわかりました。 pip.logにこのエラーが表示される場合、これはおそらく問題です。

URLを取得できませんでした http://pypi.python.org/simple/pyreadline :HTTPエラー407:プロキシ認証が必要です(ISAサーバーは、要求を満たすために承認が必要です。アクセスWebプロキシフィルタへの拒否は拒否されます。)

NTLMapsを使用して、中間プロキシになることにより、NTLMプロキシサーバーとインターフェイスできます。

NTLMAPをダウンロードし、含まれているserver.cfgを更新し、main.pyファイルを実行してから、pipのプロキシ設定を127.0.0.1:にポイントします。

また、server.cfgファイルのこれらのデフォルト値を次のように変更する必要がありました。

LM_PART:1
NT_PART:1

# Highly experimental option. See research.txt for details.
# LM - 06820000
# NT - 05820000
# LM + NT - 
NTLM_FLAGS: 07820000

http://ntlmaps.sourceforge.net/

7
monkut

また、プロキシからの証明書に問題が発生する場合があります。ここには、プロキシの証明書を取得する方法に関する多くの回答があります。

Windowsホストで、pipがプロキシをクリアできるようにするには、次のような環境変数を設定することができます。

PIP_CERT=C:\path\to\certificate\file\in\pem\form\myproxycert.pem

PIP--cert引数を使用しても同じ結果が得られます。

1
cincypiper

windows 10以降で同じ問題が解決しない。

cygwinなどのエミュレータコンソールツールを使用し、デフォルトのLinuxの方法で実行します。

export http_proxy=<proxy>
export https_proxy=<proxy>
pip install <package>

そして、物事はうまく機能しています。

1
bucky

リモートWindows環境でも同じ問題が発生しました。ここまたは他の類似の投稿で見つかった多くのソリューションを試しましたが、何も機能しませんでした。最後に、解決策は非常に簡単でした。 NO_PROXYをcmdで設定する必要がありました。

set NO_PROXY="<domain>\<username>:<password>@<Host>:<port>"
pip install <packagename>

二重引用符を使用し、NO_PROXYを大文字に設定する必要があります。コンソールを使用するたびに設定する代わりに、NO_PROXYを環境変数として追加することもできます。

ここに投稿された他のソリューションが機能する場合、これが役立つことを願っています。

0
EL Manu

私の場合、管理者としてのみコマンドプロンプト(cmd)を開いたときに機能し、プロキシ設定に関する追加情報は必要ありませんでした。

0
Raj Stha

cntlmのインストール: Cntlm:Cの高速NTLM認証プロキシ

Cntlm.iniの構成:

ユーザー名ob66759

ドメインNAM

パスワードの秘密

プロキシproxy1.net:8080

プロキシproxy2.net:8080

NoProxy localhost、127.0.0。*、10。*、192.168。*

聞く3128

127.0.0.1を許可

#your IP

10.106.18.138を許可

始めよう:

cntlm -v -c cntlm.ini

Cmd.exeで:

pip install --upgrade pip --proxy 127.0.0.1:3128

Collecting pip
  Downloading https://files.pythonhosted.
44c8a6e917c1820365cbebcb6a8974d1cd045ab4/

    100% |███████████████████████████████
Installing collected packages: pip
  Found existing installation: pip 9.0.1
    Uninstalling pip-9.0.1:
      Successfully uninstalled pip-9.0.1

Successfully installed pip-10.0.1

動作します!

パスワードを非表示にすることもできます: https://stormpoopersmith.com/2012/03/20/using-applications-behind-a-corporate-proxy/

0
Alex B