pip を使用して複数のパッケージをインストールしようとしています。sudo を使用してこれを行うと、「インデックス ベース URL https://pypi.python.org/simple/を取得できません」というエラーが発生します。sudo なしでコマンドを実行すると、パッケージは正常にダウンロードされますが、十分な権限がありません。このような異なる行動の理由は何でしょうか? 私はプロキシの後ろに座っています。
6 に答える
多分試してみてくださいsudo -E
:
-E The -E (preserve environment) option indicates to the secu‐
rity policy that the user wishes to preserve their existing
environment variables. The security policy may return an
error if the -E option is specified and the user does not
have permission to preserve the environment.
プロキシ設定が通常のユーザー環境で設定されていることを前提としていますが、実行時に得られるものではありませんsudo
。
使用しようとしたときにこの問題が発生しましたpip==1.5.4
これは、SSL 証明書を信頼する PIP および Python の PYPI に関連する問題です。Mac OS X の PIP ログ ( /Users/username/.pip/pip.log)を見ると、詳細が表示されます。
さまざまなことを何時間も試した後、PIP を元に戻して実行するための私の回避策は、それがvirtualenvにあるか通常のsite-packagesにあるかにかかわらず、Python で自分のサイト パッケージに移動し、現在の PIP バージョンを削除することでした。私にとってはpip==1.5.4
PIP ディレクトリと PIP Egg ファイルを削除しました。それから私は走った
easy_install pip==1.2.1
このバージョンの PIP には SSL の問題はありません。その後pip install -r requirements.txt
、virtualenv 内で通常どおり実行して、requirements.txt
ファイルにリストされている必要なすべてのパッケージをセットアップすることができました。
これは、私が見つけたこの Google グループで数人が問題を解決するために推奨されるハックでもあります。
https://groups.google.com/forum/#!topic/beagleboard/aSlPCNYcVjw
[編集]
異なるバージョンの PIP がグローバルにインストールされている場合、新しい virtualenv を作成するたびにそのバージョンの PIP がインストールされるため、グローバルにインストールされたバージョンを変更しない限り、新しい PIP ごとに毎回これを行う必要があります。新しいプロジェクトを開始するときにこの問題に遭遇し、修正をやり直して元に戻す必要がありましたpip==1.2.1