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

Python pip install fails: invalid command egg_info

我发现最近当我尝试使用pip安装一个python包时,经常会遇到下面的错误。

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

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

我尝试了一次PIP升级,但也以类似的方式失败了,出现了一系列"未知分发选项"错误(入口点、Zip安全、测试套件、测试要求)!

  • PIP1.0.1
  • 活动按钮2.7

尝试使用ActiveState的Pypm失败,因为它们有一个较小的库库库,并且不包含这些包。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
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'


install distribute,它与egg_info一起提供。

应该和pip install Distribute一样简单。

Distribute已从0.7版合并到安装工具中。如果您使用的版本<=0.6,请使用pip install --upgrade setuptoolseasy_install -U setuptools进行升级。


由于distribute已合并回setuptools,现在建议改为安装/升级setuptools:

1
[sudo] pip install --upgrade setuptools


记住,如果您已经安装了pip install --upgrade Distribute,那么您可能需要执行pip install --upgrade Distribute,并且您的pip可能会被称为pip2,用于某些系统上的python2(它在我的系统上)。


我遇到了这个问题,以及其他一些关于OS X V10.9上的Brewed python的问题(Mavericks)。

1
sudo pip install --upgrade setuptools

不适合我,我认为我的安装工具/分发设置是错误的。

我终于通过跑步使它发挥作用了

1
sudo easy_install -U setuptools


在Ubuntu 12.04 LTS(Precise Pangolin)上,上述任何一项都不适用于我,下面是我最后如何修复它的方法:

从下载安装工具下载ez_setup.py(请参阅"安装说明"部分),然后:

1
$ sudo python ez_setup.py

我希望它能节省一些时间。


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

在这种情况下,你应该这样做

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

(创建于此:https://gist.github.com/lxneng/1031014)


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

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

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

使用yum安装python-pip包会带来python-setuptools的依赖性。这是一个相当旧的版本,因此它实际上安装了distribute (0.6.10)。安装包管理器之后,我们通常希望对其进行更新,因此我们执行pip install -U pip。我的当前PIP版本是1.5.6。

现在我们去更新安装工具,这个版本的pip足够聪明,知道它应该先删除distribute的旧版本。它可以这样做,但随后安装的不是最新版本的安装工具,而是setuptools (0.6c11)

在这一点上,由于安装工具的这个非常旧的版本,所有的东西都被破坏了,但实际上我们已经走到了一半。如果我们现在再次运行完全相同的命令,pip install -U setuptools,则会删除旧版本的安装工具,并安装版本5.5.1。我不知道为什么Pip不能一次就把我们带到新版本,但这是正在发生的事情,希望它能帮助其他人看到这一点,并知道你不会发疯。


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

值得一提的是,我最终通过pip uninstall distribute解决了这个问题。


看起来默认的easy-install在其当前位置中断:

$ which easy_install
/usr/bin/easy_install

克服这一问题的一种方法是使用易于在站点中安装的软件包。例如:

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


我知道这是一个老问题,但下面是我用来让cassandra-driver在Windows7/python2上实际安装的步骤。I have windows 10/python3 at home where I will test this night.I have confirmed this also works on windows 10 with both python 2 and 3.

问题

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

DR溶液

  • 安装了https://www.microsoft.com/en-us/download/details.aspx?ID=44266(微软Python 2.7的Visual C++编译器)

解决方案(我希望有人能解释一下为什么这个方法有效)

  • 尝试pip install cassandra-driver并收到上述错误信息
  • 尝试pip install --pre cassandra-driver并得到以下错误
1
2
3
4
5
6
7
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('

'
, '
'
), __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

再说一遍,我不太清楚为什么会这样。现在我的两个主要结论是,要么是C++编译器是必需的,要么是运行EDCOX1的29选项,第一次安装了一些从"常规"安装中丢失的依赖项。工作结束后,我会在有更多细节的时候更新。


pip install -U setuptoolseasy_install把鸡蛋信息放错了目录。

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


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

在运行pip3 install cairosvg之前,我已经尝试了pip install --upgrade pippip install --upgrade setuptools,但是我仍然得到了这个错误。

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

因此,我进一步检查了错误消息,发现我在安装cairocfi时收到了错误。然后在安装cairosvg之前安装特定版本的cairocfi(请参阅此答案)。这就是我解决问题的方法。


我只是把liquidki的答案转换成ubuntu命令。在一个基于Ubuntu的系统上,它可以工作!:

1
2
3
sudo apt -y install python-pip
pip install -U pip
sudo pip install -U setuptools

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

您可以运行类似于sudo -H pip2 install --upgrade pip的程序来升级您的PIP版本。


尝试以下命令:

1
pip install setuptools==28.8.0

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