pipinstall给出“命令”python setup.py egg_info“失败,错误代码为1”
我试图在Ubuntu 16.04上使用pip install安装python包rpy2
:
pip install rpy2==2.2.7
但得到错误信息(见下面的完整输出):
Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-build-EuOI6K/unroll/
其他软件包pip2
发生同样的事情,例如pip install unroll
或使用pip2
。 我认为这篇文章是同一个问题,但它通过使用sudo解决了。
解决了尝试
我在这篇文章中尝试过解决方案,例如: pip install --upgrade setuptools
, (sudo) easy_install -U setuptools
,或sudo 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
完整的错误输出
pip install rpy2 == 2.2.7 收集rpy2 == 2.2.7使用缓存的rpy2-2.2.7.tar.gz 从命令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行,in 文件“/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”, 第295行,在find_sources中 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() 文件“/usr/lib/python2.7/distutils/cmd.py”,第109行,在ensure_finalized中 self.finalize_options() 在finalize_options中输入文件“/tmp/pip-build-EkrbmM/rpy2/setup.py”,第155行 config + = get_rconfig(r_home,about) 在get_rconfig中输入文件“/tmp/pip-build-EkrbmM/rpy2/setup.py”,第319行 rc = RConfig.from_string(rconfig,allow_empty = allow_empty) 来自from_string的文件“/tmp/pip-build-EkrbmM/rpy2/setup.py”,第279行 +'\ nin string \ n'+ string) ValueError:无效的子字符串 -fopenmp 在字符串中 -Wl, - export-dynamic -fopenmp -Wl,-Bsymbolic-functions -Wl,-z,relro -L / usr / lib / R / lib -lR -lpcre -llzma -lbz2 -lz -lrt -ldl -lm 命令“python setup.py egg_info”失败,错误代码1在/ tmp / pip-build-EkrbmM / rpy2 / pip install unroll 收集展开使用缓存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行,in 文件“/tmp/pip-build-QimGjp/unroll/setup.py”,第2行,in ez_setup.use_setuptools() 在use_setuptools中输入文件“/usr/local/lib/python2.7/dist-packages/ez_setup.py”,第145行 return _do_download(version,download_base,to_dir,download_delay) 文件“/usr/local/lib/python2.7/dist-packages/ez_setup.py”,第124行,在_do_download中 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行 return opener.open(url,data,timeout) 文件“/usr/lib/python2.7/urllib2.py”,第435行,处于打开状态 response = meth(req,response) 在http_response中输入文件“/usr/lib/python2.7/urllib2.py”,第548行 'http',请求,响应,代码,消息,hdrs) 文件“/usr/lib/python2.7/urllib2.py”,第473行,出错 return self._call_chain(* args) _call_chain中的文件“/usr/lib/python2.7/urllib2.py”,第407行 result = func(* args) 在http_error_default中输入文件“/usr/lib/python2.7/urllib2.py”,第556行 引发HTTPError(req.get_full_url(),代码,msg,hdrs,fp) urllib2.HTTPError:HTTP错误403:需要SSL 命令“python setup.py egg_info”失败,错误代码1在tmp / pip- 集结QimGjp /展开/
你需要获得设置工具和可能的dev模块输入以下内容
sudo apt-get install python-setuptools sudo apt-get install python-dev
首先升级pip以确保除了平稳运行之外什么都没有意义,这可以通过输入完成
sudo apt install python-pip
祝好运
Ubuntu 16.04 LTS的软件包存储库中的python-setuptools
版本已过时/未维护。 使用pip
升级它而不是依赖于包管理器:
$ sudo pip install --upgrade setuptools
解决方案我提出了自己的问题:提出的答案并没有解决问题,所以我最终使用了conda
,为我需要的软件包创建了一个特定的环境,这很有效! 这是现在最好的解决方案,特别是因为它需要安装一个并行版本(你可以使用miniconda空间)但是实用的!