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

gut*_*rie 205 python pip

我发现最近经常在我尝试使用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'
Run Code Online (Sandbox Code Playgroud)

Ran*_* Ma 311

安装分发,附带egg_info.

应该如此简单pip install Distribute.

自0.7版起,Distribute已合并到Setuptools中.如果您使用的版本<= 0.6,请使用pip install --upgrade setuptools或升级easy_install -U setuptools.

  • 不适合我.我已安装分发,但几乎每次我尝试安装包时仍然会收到鸡蛋信息错误 (79认同)
  • 如果你在删除distribute或pip之后仍然有问题没有正确升级setuptools,请尝试`easy_install -U setuptools`这对我有用. (11认同)
  • 奇怪的是,这修复了所有安装的错误**除了**`pip install -U pip`. (5认同)
  • 对于那些仍然会出现错误的@Zorpix,你可能想要查看你正在调用的pip版本.在Ubuntu上,我发现我有一个仍然被调用的发行版包装版本. (2认同)

Gri*_*ave 58

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

[sudo] pip install --upgrade setuptools
Run Code Online (Sandbox Code Playgroud)

  • 出于某种原因,我不得不两次运行这个(在我的虚拟ENV我不得不发布0.6.49和setuptools的0.6c11),然后我可以安装最新版本的PIP的没有问题. (7认同)
  • @glarrain它发生在我身上!谢谢你的抬头!卸载的第一个通道分配0.7,第二个卸载的setuptools 0.6c11 (3认同)

Nay*_*pam 22

请记住,pip install --upgrade Distribute如果已经安装了它,可能必须这样做,并且pip可能pip2在某些系统上调用Python2(它在我的系统上).


小智 13

我遇到过这个问题,以及OS X v10.9(Mavericks)上的Brewed Python的其他一些问题.

sudo pip install --upgrade setuptools
Run Code Online (Sandbox Code Playgroud)

不适合我,我认为我的setuptools /分配设置是拙劣的.

我终于通过运行得到了它

sudo easy_install -U setuptools
Run Code Online (Sandbox Code Playgroud)


小智 11

Ubuntu 12.04 LTS(精确穿山甲)上,以上都没有为我工作,这就是我最终修复它的方法:

下载ez_setup.py下载setuptools的(请参阅"安装说明"部分),则:

$ sudo python ez_setup.py
Run Code Online (Sandbox Code Playgroud)

我希望能节省一些时间.


Ser*_*lov 9

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

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

sudo apt-get install libcurl4-gnutls-dev librtmp-dev
Run Code Online (Sandbox Code Playgroud)

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


liq*_*dki 8

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

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

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

python-pip使用yum 安装软件包会带来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不会直接将我们带到新版本,但这就是正在发生的事情,希望它能帮助其他人看到这一点,并且知道你不会疯狂.


joh*_*yes 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.

  • 这为我解决了这个问题.原来我安装了一个旧的分发版本,安装了一个更老版本的setuptools,并且比我的系统打包器安装的新安装工具更受欢迎...卸载setuptools并分发,然后使用我的系统打包器重新安装setuptools为我解决了这个问题. (3认同)

Fri*_*ito 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
Run Code Online (Sandbox Code Playgroud)

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
Run Code Online (Sandbox Code Playgroud)
  • 安装 Microsoft Visual C++ Compiler for Python 2.7
  • 成功执行 pip install --pre cassandra-driver
  • 成功执行 pip uninstall cassandra-driver
  • 成功执行 pip install cassandra-driver

重申一下,我不确定为什么会这样.现在我的两个主要结论是,不管是C++编译器是必需的或者是运行--pre在第一时间安装一些依赖人失踪,从选项"正规军"安装.我有更多详细信息,今晚下班后我会更新.