首页 文章

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

提问于
浏览
201

我发现最近经常在我尝试使用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'

16 回答

  • 0

    安装distribute,它与egg_info一起提供 .

    应该像pip install Distribute一样简单 .

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

  • 22

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

    [sudo] pip install --upgrade setuptools
    
  • 6

    请记住,如果你已经安装了它,你可能需要做 pip install --upgrade Distribute ,并且在某些系统上你的 pip 可能被称为 pip2 (对于我的) .

  • 5

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

    sudo pip install --upgrade setuptools
    

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

    我终于通过运行得到了它

    sudo easy_install -U setuptools
    
  • 309

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

    download setuptools下载 ez_setup.py (参见"Installation Instructions"部分)然后:

    $ sudo python ez_setup.py
    

    我希望能节省一些时间 .

  • 8

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

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

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

    (成立于这里:https://gist.github.com/lxneng/1031014

  • 1

    在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 作为依赖项 . 它's a pretty old version and hence it'实际安装了 distribute (0.6.10) . 安装包管理器后,我们通常要更新它,所以我们做 pip install -U pip . 当前版本的pip对我来说是1.5.6 .

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

    在这一点上,由于这个极其古老的setuptools版本,各种各样的东西都被打破了,但我们实际上已经到了一半 . 如果我们现在再次运行完全相同的命令 pip install -U setuptools ,则删除旧版本的setuptools,并安装版本5.5.1 . 我不会直接把我们带到新版本,但这是_1168209不会发疯的 .

  • 6

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

    $ which easy_install /usr/bin/easy_install

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

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

  • 0

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

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

  • 58

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

    Problem

    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 Solution

    Solution (我喜欢有人解释为什么这样有效)

    • 尝试 pip install cassandra-driver 并收到以上错误消息

    • 尝试 pip install --pre cassandra-driver 并收到以下错误

    distutils.errors.DistutilsError:安装脚本退出时出现错误:需要Microsoft Visual C 9.0(无法找到vcvarsall.bat) .
    从http://aka.ms/vcpython27获取它

    命令“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 --recordc:\ users \ Frito \ appdata \ local \ temp \ pip-ujsxsk-record \ install-record.txt --single-version-external-managed --compile --install-headers c:\ users \ Frito \ .virtualenvs \ symdash \ include \ site \ python2.7 \ cassandra-driver“在c:\ users \ Frito \ appdata \ local \ temp \ pip-build-sesxxu \ cassandra-driver中失败并显示错误代码1

    • 已安装 Microsoft Visual C++ Compiler for Python 2.7

    • 已成功执行 pip install --pre cassandra-driver

    • 已成功执行 pip uninstall cassandra-driver

    • 已成功执行 pip install cassandra-driver

    重申一下,我不确定为什么会这样 . 现在我的两个主要结论是C编译器是必需的,或者在第一次运行 --pre 选项时安装了'regular' install中缺少的一些依赖项 . 我有更多详细信息,今晚下班后我会更新 .

  • -3

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

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

  • 13

    我只是将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 pip 的内容来升级您的pip版本 .

  • 11

    尝试以下命令:

    pip install setuptools==28.8.0
    
  • 0

    当我想在虚拟环境中使用命令 pip install cairosvg 安装 cairosvg 时,我也遇到类似的错误消息"Command 'python setup.py egg_info' failed with error code 1" .

    然后我在运行 pip3 install cairosvg 之前尝试了 pip install --upgrade pippip install --upgrade setuptools ,但我仍然遇到此错误 .

    我可以在安装命令前面用 sudo 摆脱这个错误: sudo pip install cairosvg . 但请注意,带有 sudo 的命令将安装系统python而不是虚拟环境的软件包 .

    因此,我进一步检查错误消息,发现在安装 cairocffi 时出现错误 . 然后我在安装cairosvg之前安装某个版本的cairocffi(refer to this answer) . 这就是我解决问题的方法 .

  • 9

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

相关问题