Python pipインストールが失敗する:無効なコマンドegg_info


205

最近、pipを使用してPythonパッケージをインストールしようとすると、以下のエラーが発生することがよくあります。

ダウンロードディレクトリから「python2 setup.py install」を使用する必要があるというリファレンスをオンラインで見つけました。実際に、手動でパッケージを見つけてダウンロードすると(pypiから)、これが機能することがわかりました。

しかし、pipがパッケージをダウンロードする場所や、なぜこのように失敗するのかはわかりません。

ピップアップグレードを試みましたが、同様の方法で失敗し、一連の「不明な配布オプション」エラー(entry_points、zip_safe、test_suite、tests_require)が発生しました。

ライブラリのベースが小さく、これらのパッケージが含まれていないため、ActiveStateのpypmを使用しようとすると失敗します。

C:\test>pip install requests-oauth
Downloading/unpacking requests-oauth
  Downloading requests-oauth-0.4.1.tar.gz
  Running setup.py egg_info for package requests-oauth
    E:\Plang\ActivePython\lib\distutils\dist.py:267: UserWarning: Unknown distribution option: 'zip_safe'
      warnings.warn(msg)
    E:\Plang\ActivePython\lib\distutils\dist.py:267: UserWarning: Unknown distribution option: 'install_requires'
      warnings.warn(msg)
    usage: -c [global_opts] cmd1 [cmd1_opts] [cmd2 [cmd2_opts] ...]
       or: -c --help [cmd1 cmd2 ...]
       or: -c --help-commands
       or: -c cmd --help

    error: invalid command 'egg_info'
    Complete output from command python setup.py egg_info:
    E:\Plang\ActivePython\lib\distutils\dist.py:267: UserWarning: Unknown distribution option: 'zip_safe'
  warnings.warn(msg)

E:\Plang\ActivePython\lib\distutils\dist.py:267: UserWarning: Unknown distribution option: 'install_requires'
  warnings.warn(msg)

usage: -c [global_opts] cmd1 [cmd1_opts] [cmd2 [cmd2_opts] ...]
   or: -c --help [cmd1 cmd2 ...]
   or: -c --help-commands
   or: -c cmd --help

error: invalid command 'egg_info'

私にとってはインストールにpython-dev
成功

回答:


313

付属の配布をインストールしegg_infoます。

のように単純でなければなりませんpip install Distribute

Distributeは、バージョン0.7からSetuptoolsに統合されました。0.6以下のバージョンを使用している場合は、pip install --upgrade setuptoolsまたはを使用してアップグレードしeasy_install -U setuptoolsます。


79
私にはうまくいきません。インストールを配布しましたが、パッケージをインストールしようとするたびに卵情報エラーが発生します
Riot Goes Woof 2013

2
それでもエラーが発生する@Zorpixのような人には、呼び出すpipのバージョンを確認することができます。Ubuntuで、まだ呼ばれているディストリビューションパッケージバージョンがあったことがわかりました。
James Snyder

1
setuptoolsの新バージョンが機能するためには、ディストリビューションを手動または削除してアンインストールする必要があるかもしれません/usr/local/lib/python2.7/dist-packages/distribute-*
Michael

12
配布を削除しても問題が解決しない場合、またはpipがsetuptoolsを適切にアップグレードしない場合は、easy_install -U setuptoolsこれがうまくいきました。
kissgyorgy 14

5
奇妙なことに、これはを除く すべてのインストールのエラーを修正しましたpip install -U pip
セリン14

58

配布がsetuptoolsにマージされたので、代わりにsetuptoolsをインストール/アップグレードすることが推奨されます:

[sudo] pip install --upgrade setuptools

7
何らかの理由でこれを2回実行する必要があり(私の仮想環境では0.6.49とsetuptools 0.6c11を配布していました)、問題なく最新バージョンのpipをインストールできました。
glarrain 2013

3
@glarrainそれは私に起こりました!ヘッドアップをありがとう!最初のパスがアンインストールされて配布0.7、2番目がアンインストールされたsetuptools 0.6c11
空爆

22

pip install --upgrade Distributeすでにインストールされていて、一部のシステムではPython2 pipが呼び出される場合(私のものです)、実行する必要がある場合があることpip2に注意してください。


1
注意として、これはWindowsの管理者モードで通常のPythonインストールを行う必要があります。そうしないと、Distributeのインストールの失敗を見落としがちです。
Steven Bluen、2015

13

私はこの問題と、Brewed Pythonに関する他のいくつかの問題を抱えていました OS X v10.9(Mavericks)。

sudo pip install --upgrade setuptools

私にとってはうまくいきませんでした、そして私のsetuptools / distributeセットアップは失敗したと思います。

私は最終的にそれを実行することによってそれを機能させました

sudo easy_install -U setuptools

11

上記のいずれもUbuntu 12.04では機能しませんでした LTS(Precise Pangolin)た。最終的には次のように修正しました。

ダウンロードsetuptools(「インストール手順」セクションを参照)からez_setup.pyをダウンロードして、次の手順を実行ます

$ sudo python ez_setup.py

誰かの時間を節約してくれることを願っています。



8

CentOS 6.5では、クリーンインストールからの短い答えは次のとおりです。

yum -y install python-pip pip install -U pip pip install -U setuptools pip install -U setuptools

ダブルが表示されないため、setuptoolsのアップグレードを2回実行する必要があります。長い答えは以下の通りです:

python-pipyumを使用してパッケージをインストールするpython-setuptoolsと、依存関係が生じます。それはかなり古いバージョンなので、実際にインストールしていますdistribute (0.6.10)ます。パッケージマネージャーをインストールした後、通常は更新したいので、更新しますpip install -U pip。私のpipの現在のバージョンは1.5.6です。

次に、setuptoolsを更新します。このバージョンのpipは、distributeの古いバージョンを最初に削除する必要があることを認識できるほどスマートです。これを行いますが、インストールするsetuptoolsの最新バージョンをインストールする代わりにsetuptools (0.6c11)

この時点では、この非常に古いバージョンのsetuptoolsが原因であらゆる種類のものが壊れていますが、実際には途中です。まったく同じコマンドpip install -U setuptoolsをもう一度実行すると、古いバージョンのsetuptoolsが削除され、バージョン5.5.1がインストールされます。なぜピップが私たちを一発で新しいバージョンに直接連れて行かないのかはわかりませんが、これが起こっていることであり、うまくいけば、他の人がこれを見て、あなたが狂っていないことがわかるでしょう。


6

デフォルトのeasy_installが現在の場所で壊れているようです:

$ which easy_install /usr/bin/easy_install

これを克服する方法は、サイトパッケージでeasy_installを使用することです。例えば:

$ sudo python /Library/Python/2.7/site-packages/easy_install.py boto


6

私は同じ問題に直面していて、上記のすべての答えを試しました。しかし、残念ながら、上記のどれもうまくいきませんでした。

注として、私は最終的にこれをで解決しましたpip uninstall distribute


3
これで問題が解決しました。古いバージョンの配布がインストールされていて、さらに古いバージョンのsetuptoolsがインストールされていて、システムパッケージャーによってインストールされた新しいsetuptoolsよりも優先されていることがわかりました... setuptoolsと配布の両方をアンインストールしてから、システムパッケージャーを使用してsetuptoolsを再インストールしました私の問題を修正しました。
Dominic LoBue 2016年

5

これは古い質問であることは承知していますが、cassandra-driverWindows 7 / Python2に実際にインストールするために使用した手順は次のとおりです。私は自宅にWindows 10 / Python3を持っているので、今夜これをテストします。これは、Python 2と3の両方を搭載したWindows 10でも動作することを確認しました。

問題

Command "python setup.py egg_info" failed with error code 1 in c:\users\Frito\appdata\local\temp\pip-build-7dgmdc\cassandra-driver

TL; DRソリューション

解決策(これがうまくいった理由を誰かに説明して欲しい)

  • 試みた pip install cassandra-driver上記のエラーメッセージをして取得した
  • 未遂pip install --pre cassandra-driverと、次のエラーを得ました
distutils.errors.DistutilsError: Setup script exited with error: Microsoft Visual C++ 9.0 is required (Unable to find vcvarsall.bat).
Get it from http://aka.ms/vcpython27

Command "c:\users\Frito\.virtualenvs\symdash\scripts\python.exe -u -c "import setuptools, tokenize;__file__='c:\\users\\Frito\\appdata\\local\\temp\\pip-build-sesxxu\\cassandra-driver\\setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record  c:\users\Frito\appdata\local\temp\pip-ujsxsk-record\install-record.txt --single-version-externally-managed --compile --install-headers c:\users\Frito\.virtualenvs\symdash\include\site\python2.7\cassandra-driver"  failed with error code 1 in  c:\users\Frito\appdata\local\temp\pip-build-sesxxu\cassandra-driver
  • インストール済み Microsoft Visual C++ Compiler for Python 2.7
  • 正常に実行されました pip install --pre cassandra-driver
  • 正常に実行されました pip uninstall cassandra-driver
  • 正常に実行されました pip install cassandra-driver

繰り返しますが、これがうまくいった理由はよくわかりません。現在、私の2つの主要な結論は、C ++コンパイラーが必要であるまたは--preオプションを初めて実行したときに、「通常の」インストールから欠落していたいくつかの依存関係をインストールしたことです。詳細がわかり次第、今夜仕事の後に更新します。


1

pip install -U setuptoolsそしてeasy_installegg-infoを間違ったディレクトリに置いていました。

その後、私は再インストールしましたapt-get install python-dev。その後、必要なドライバをインストールします


1

次のコマンドを試してください:

pip install setuptools==28.8.0

0

私はLiquidkiの答えをUbuntuコマンドに変換するだけです。Ubuntuベースのシステムでは動作します!:

sudo apt -y install python-pip
pip install -U pip
sudo pip install -U setuptools

0

私にとって、pipを8.1.1から9.0.1にアップグレードすると、この問題は解決しました。

あなたのsudo -H pip2 install --upgrade pippipバージョンをアップグレードするようなものを実行することができます。


0

仮想環境でコマンドを使用してcairosvgをインストールしたい場合、同様のエラーメッセージ「コマンド 'python setup.py egg_info' failed with error code 1」にも遭遇pip install cairosvgます。

次に、実行する前と両方pip install --upgrade pipを試しましたが、まだこのエラーが発生します。pip install --upgrade setuptoolspip3 install cairosvg

インストールコマンドの前のsudoでこのエラーを取り除くことができますsudo pip install cairosvg。ただし、sudoを使用したコマンドを指定は、仮想環境ではなくシステムpythonのパッケージをインストールする。

したがって、さらにエラーメッセージを確認すると、cairocffiのインストール中にエラーが発生することがわかりました。次に、cairosvgをインストールする前に、特定のバージョンのcairocffi(この回答を参照)をインストールします。それが私の問題を解決する方法です。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.