pip安装给出“命令” python setup.py egg_info“失败,错误代码为1”


13

我正在尝试rpy2在Ubuntu 16.04上使用pip install 安装python软件包:

pip install rpy2==2.2.7

但收到错误消息(请参见下面的完整输出):

Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-build-EuOI6K/unroll/

其他软件包(例如pip install unroll或使用)也会发生相同的情况pip2。我以为这篇文章是同样的问题,但是通过使用sudo可以解决。

解决方案尝试

我试图解决这个岗位,如:pip install --upgrade setuptools(sudo) easy_install -U setuptoolssudo apt-get install python-setuptools,但无济于事。

python / pip信息

有人建议我可能安装了怪异的python / pip,以下是一些信息:

sudo which python pip pip2 | xargs -rd '\n' readlink -f 
/usr/bin/python2.7   
/usr/local/bin/pip  
/usr/local/bin/pip2  

sudo python --version   
Python 2.7.12  

sudo pip --version  
pip 9.0.1 from /home/matifou/.local/lib/python2.7/site-packages (python 2.7)  
/usr/bin/pip2 --version  
pip 8.1.1 from /usr/lib/python2.7/dist-packages (python 2.7)

ls -l $(which pip); dpkg -S /usr/bin/pip
-rwxr-xr-x 1 root root 204 Nov  8 16:24 /usr/local/bin/pip
python-pip: /usr/bin/pip

全错误输出

点安装rpy2 == 2.2.7  
使用缓存的rpy2-2.2.7.ta​​r.gz收集rpy2 == 2.2.7  
    来自命令python setup.py egg_info的完整输出:
    运行egg_info
    创建pip-egg-info / rpy2.egg-info
    编写pip-egg-info / rpy2.egg-info / PKG-INFO
    将顶级名称写入pip-egg-info / rpy2.egg-info / top_level.txt
    将dependency_links写入pip-egg-info / rpy2.egg-info / dependency_links.txt
    编写清单文件“ pip-egg-info / rpy2.egg-info / SOURCES.txt”
    追溯(最近一次通话):
      文件“”,第1行,位于 
      文件“ /tmp/pip-build-EkrbmM/rpy2/setup.py”,行462,在 
        [os.path.join('doc','source','rpy2_logo.png')]))],
      安装程序中的文件“ /usr/lib/python2.7/distutils/core.py”,第151行
        dist.run_commands()
      在run_commands中的文件“ /usr/lib/python2.7/distutils/dist.py”,第953行
        self.run_command(cmd)
      在run_command中的文件“ /usr/lib/python2.7/distutils/dist.py”,第972行
        cmd_obj.run()
      文件“ /usr/local/lib/python2.7/dist-packages/setuptools/command/egg_info.py”,
280行,运行中
        self.find_sources()
      文件“ /usr/local/lib/python2.7/dist-packages/setuptools/command/egg_info.py”,
在find_sources中的第295行
        mm.run()
      文件“ /usr/local/lib/python2.7/dist-packages/setuptools/command/egg_info.py”,
526行
        self.add_defaults()
      文件“ /usr/local/lib/python2.7/dist-packages/setuptools/command/egg_info.py”,
第562行,位于add_defaults中
        sdist.add_defaults()
      文件“ /usr/local/lib/python2.7/dist-packages/setuptools/command/py36compat.py”,
第36行,在add_defaults中
        self._add_defaults_ext()
      文件“ /usr/local/lib/python2.7/dist-packages/setuptools/command/py36compat.py”,
第119行,在_add_defaults_ext中
        build_ext = self.get_finalized_command('build_ext')
      get_finalized_command中的文件“ /usr/lib/python2.7/distutils/cmd.py”,第312行
        cmd_obj.ensure_finalized()
      在sure_finalized中的文件“ /usr/lib/python2.7/distutils/cmd.py”,第109行
        self.finalize_options()
      在finalize_options中,文件“ /tmp/pip-build-EkrbmM/rpy2/setup.py”,第155行
        config + = get_rconfig(r_home,关于)
      get_rconfig中的第319行的文件“ /tmp/pip-build-EkrbmM/rpy2/setup.py”
        rc = RConfig.from_string(rconfig,allow_empty = allow_empty)
      文件“ /tmp/pip-build-EkrbmM/rpy2/setup.py”,第279行,位于from_string中
        +'\ nin字符串\ n'+字符串)
    ValueError:无效的子字符串
    -fopenmp
    在字符串中
    -Wl,-export-dynamic -fopenmp -Wl,-Bsymbolic函数-Wl,-z,relro -L / usr / lib / R / lib -lR -lpcre -llzma -lbz2 -lz -lrt -ldl -lm

命令“ python setup.py egg_info”在/ tmp / pip-build-EkrbmM / rpy2 /中失败,错误代码为1

pip安装展开
使用缓存的unroll-0.1.0.tar.gz收集展开
    来自命令python setup.py egg_info的完整输出:
    正在下载http://pypi.python.org/packages/source/d/distribute/distribute-0.6.14.tar.gz
    追溯(最近一次通话):
      文件“”,第1行,位于 
      在第2行的文件“ /tmp/pip-build-QimGjp/unroll/setup.py” 
        ez_setup.use_setuptools()
      use_setuptools中的文件“ /usr/local/lib/python2.7/dist-packages/ez_setup.py”,第145行
        返回_do_download(版本,download_base,to_dir,download_delay)
      _do_download中的文件“ /usr/local/lib/python2.7/dist-packages/ez_setup.py”,第124行
        to_dir,download_delay)
      在download_setuptools中的文件“ /usr/local/lib/python2.7/dist-packages/ez_setup.py”,第193行
        src = urlopen(URL)
      urlopen中的文件“ /usr/lib/python2.7/urllib2.py”,第154行
        返回opener.open(URL,数据,超时)
      打开文件“ /usr/lib/python2.7/urllib2.py”,行435
        响应= meth(req,响应)
      http_response中的文件“ /usr/lib/python2.7/urllib2.py”,第548行
        'http',请求,响应,代码,msg,hdr)
      文件“ /usr/lib/python2.7/urllib2.py”,第473行,错误
        返回self._call_chain(* args)
      _call_chain中的第407行的文件“ /usr/lib/python2.7/urllib2.py”
        结果= func(* args)
      http_error_default中的文件“ /usr/lib/python2.7/urllib2.py”,第556行
        引发HTTPError(req.get_full_url(),code,msg,hdrs,fp)
    urllib2.HTTPError:HTTP错误403:需要SSL

tmp / pip-中的命令“ python setup.py egg_info”失败,错误代码为1
build-QimGjp /展开/

已经安装了R吗?
lapisdecor

1
尝试-H像“ sudo -H
乔治·乌德森

抱歉,但这对我来说太混乱了,以至于感觉不到现在帮助某人解开它。即使有赏金。谢谢您的提醒。
大卫·佛斯特

感谢@George,但不幸的是,即使如此,sudo -H它也不起作用:-(
Matifou

Answers:


4

升级setuptools使用pip

python-setuptoolsUbuntu 16.04 LTS软件包存储库中的版本已过期/未维护。 升级pip而不依赖于包管理器:

$ sudo pip install --upgrade setuptools

1

解决方案我提出了自己的问题:提出的答案不能解决问题,所以我最终使用conda,为所需的软件包创建了一个特定的环境,并且可行!这不是最好的解决方案,特别是因为它需要安装并行版本(您可以使用miniconda占用空间),但是它是一个实用的解决方案!


1

更新setuptools无法解决我的问题。但是,告诉pip自己进行升级。

以下命令解决了我的问题(来自此答案

pip install --upgrade pip

谢谢,升级setuptools对我也不起作用。但是升级pip可以解决问题。
fsevenm

0

您需要获取设置工具,可能需要在开发模块中输入以下内容

sudo apt-get install python-setuptools
sudo apt-get install python-dev

可能需要先升级pip以确保除了平稳运行外没有其他事情,这可以通过键入以下内容来完成

sudo apt install python-pip

祝好运


1
谢谢。但是我实际上已经安装了这三个文件,并安装了最新版本...
Matifou
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.