Python pip安装失败:命令egg_info无效

时间:2012-07-11 03:25:46

标签: python pip

我最近经常发现,当我尝试使用 Python 安装pip软件包时,我会收到以下错误。

我在网上找到了一个必须从下载目录中使用“ python2 setup.py install ”的参考资料,并且确实发现如果我手动查找并下载该包,这将会起作用(来自的PyPI)。

但是,我不知道pip在哪里下载包,和/或为什么它以这种方式失败。

我尝试进行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'

16 个答案:

答案 0 :(得分:310)

安装egg_info附带pip install Distribute

应该像pip install --upgrade setuptools一样简单。

自版本0.7起,Distribute已合并到Setuptools中。如果您使用的版本easy_install -U setuptools或{{1}}进行升级。

答案 1 :(得分:58)

由于分发已合并回setuptools,现在建议安装/升级setuptools:

[sudo] pip install --upgrade setuptools

答案 2 :(得分:22)

请记住,如果您已经安装了pip install --upgrade Distribute,那么您可能需要执行pip,而某些系统上的pip2可能会被称为{{1}}(在我的网站上)。< / p>

答案 3 :(得分:13)

我遇到了这个问题,以及OS X v10.9(小牛队)上的Brewed Python的其他一些问题。

sudo pip install --upgrade setuptools

对我来说不起作用,我认为我的setuptools /分发设置很糟糕。

我终于通过运行

让它工作了
sudo easy_install -U setuptools

答案 4 :(得分:11)

Ubuntu 12.04 LTS(精确穿山甲)上面没有一个对我有用,这就是我最终修复它的方法:

download setuptools下载 ez_setup.py (请参阅“安装说明”部分),然后:

$ sudo python ez_setup.py

我希望能节省一些时间。

答案 5 :(得分:9)

尝试安装pycurl时可能会发生此错误。

在这种情况下你应该做

sudo apt-get install libcurl4-gnutls-dev librtmp-dev

(在此成立:https://gist.github.com/lxneng/1031014

答案 6 :(得分:8)

在CentOS 6.5上,干净安装的简短回答是:

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

您没有看到双倍,您必须运行两次setuptools升级。答案如下:

使用yum安装python-pip包会将python-setuptools作为依赖项。它是一个非常古老的版本,因此它实际上正在安装distribute (0.6.10)。安装包管理器后,我们通常要更新它,因此我们执行pip install -U pip。当前版本的pip对我来说是1.5.6。

现在我们去更新setuptools,这个版本的pip非常聪明,知道它应该首先删除旧版本的分发版。它会这样做,但不是安装最新版本的setuptools而是安装setuptools (0.6c11)

此时由于这个极端旧版本的setuptools,各种各样的东西都被破坏了,但我们实际上已经到了一半。如果我们现在再次运行完全相同的命令pip install -U setuptools,则删除旧版本的setuptools,并安装版本5.5.1。我不知道为什么pip不能一次性直接看到新版本,但这就是发生的事情,希望它能帮助其他人看到这一点,并且知道你了不要疯了。

答案 7 :(得分:6)

看起来默认的easy_install在当前位置被破坏了:

$ which easy_install /usr/bin/easy_install

解决此问题的方法是在站点包中使用easy_install。例如:

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

答案 8 :(得分:6)

我遇到了同样的问题,我尝试了以上所有答案。但不幸的是,以上都没有奏效。

作为一个说明,我最终通过pip uninstall distribute解决了这个问题。

答案 9 :(得分:5)

我知道这是一个较旧的问题,但这里是我用来cassandra-driver实际安装在Windows 7 / Python2上的步骤。 我在家里有windows 10 / Python3,今晚我将对此进行测试。我已经确认这也可以在Windows 10上使用Python 2和3。

<强>问题

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

重申一下,我不确定为什么会这样。现在我的两个主要结论是,在第一次安装“常规”安装中缺少的某些依赖项时,运行--pre选项的C ++编译器是。我有更多细节后会在下班后今晚更新。

答案 10 :(得分:1)

pip install -U setuptoolseasy_install将egg-info放在错误的目录中。

然后我重新安装了apt-get install python-dev。 让我在那之后安装我想要的驱动程序

答案 11 :(得分:0)

我只是将liquidki的答案转换为Ubuntu命令。在基于Ubuntu的系统上,它可以工作!:

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

答案 12 :(得分:0)

对我来说,将pip从8.1.1升级到9.0.1解决了这个问题。

您可以运行类似sudo -H pip2 install --upgrade pip的内容来升级您的点数版本。

答案 13 :(得分:0)

尝试以下命令:

pip install setuptools==28.8.0

答案 14 :(得分:0)

我也遇到类似的错误消息 “命令'python setup.py egg_info'失败,错误代码为1” 当我想在虚拟环境中使用命令pip install cairosvg安装 cairosvg 时。

然后我在运行pip install --upgrade pip之前尝试了pip install --upgrade setuptoolspip3 install cairosvg,但是仍然出现此错误。

我可以使用安装命令sudo pip install cairosvg前面的 sudo 消除此错误。 但是请注意,带有 sudo 的命令将为系统python而非虚拟环境安装软件包。

因此,我进一步检查错误消息,并发现在安装 cairocffi 时收到错误消息。然后,在安装cairosvg之前,先安装特定版本的cairocffi(refer to this answer)。这就是我解决问题的方式。

答案 15 :(得分:-3)

sudo apt-get install apache2-dev解决了我的问题