在Ubuntu上安装python-igraph时出错(从命令行)

时间:2015-05-21 23:38:44

标签: python linux ubuntu igraph

我试图从命令行安装python-igraph。我在AWS服务器上创建了一个新的Ubuntu实例,因此我必须从命令行执行所有操作。这是我从全新安装Ubuntu所做的工作:

$sudo apt-get update
$sudo apt-get install build-essential
$sudo apt-get install python-dev
$sudo apt-get update
$sudo apt-get install python-pip
$sudo apt-get update
$sudo pip install python-igraph

我收到以下错误:

Command /usr/bin/python -c "import setuptools, tokenize;__file__='/tmp/pip_build_root/python-igraph/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /tmp/pip-XxxMbQ-record/install-record.txt --single-version-externally-managed --compile failed with error code 1 in /tmp/pip_build_root/python-igraph
Traceback (most recent call last):
 File "/usr/bin/pip", line 9, in <module>
load_entry_point('pip==1.5.4', 'console_scripts', 'pip')()
 File "/usr/lib/python2.7/dist-packages/pip/__init__.py", line 235, in main
return command.main(cmd_args)
 File "/usr/lib/python2.7/dist-packages/pip/basecommand.py", line 161, in main
text = '\n'.join(complete_log)
UnicodeDecodeError: 'ascii' codec can't decode byte 0xe2 in position 32: ordinal not in range(128)

3 个答案:

答案 0 :(得分:3)

我在Ubuntu 14.04上工作,在virtualenv中。为python-igraph安装Ubuntu软件包并不简单,因为我的virtualenv不包括site-packages,IIRC。

感谢来自@Tamás的有用且令人鼓舞的答案,当我得到奇怪的UnicodeDecodeError时,我挖了更多。似乎真正的错误是

/usr/bin/ld: cannot find -lxml2

但它发生在大约13000行构建输出之后,其中大量使用似乎已成功地使用-lxml2。奇

但基于

的一些建议

http://igraph.wikidot.com/installing-python-igraph-on-linux#toc0

我安装了一些库:

sudo aptitude install build-essential libxml2-dev libglpk-dev libgmp3-dev libblas-dev liblapack-dev libarpack2-dev python-dev

我被告知:

将安装以下新软件包:    libarpack2-dev libbtf1.2.0 {a} libcs​​parse3.1.2 {a} libcxsparse3.1.2 {a} libglpk-dev libgmp-dev {a} libgmp3-dev libgmpxx4ldbl {a} libklu1.2.1 {a} libldl2.1.0 {a} libspqr1 .3.1 {a} libsuitesparse-dev {a} libxml2-dev

之后,pip install python-igraph成功了。我保留了两种情况下的整个输出,以防有人可以使用它来解决包装问题并帮助使其更加健壮。

奖金提示:接下来我无法弄清楚如何获得python cairo绑定,因为igraph文档没有谈论cairo绑定的Linux安装,而且我自己得到这个错误导致我在一次令人沮丧和不成功的追逐中:

Could not find any downloads that satisfy the requirement pycairo
Some externally hosted files were ignored (use --allow-external pycairo to allow).

解决方案是使用更新的绑定集:

pip install cairocffi

答案 1 :(得分:1)

这似乎至少部分来自pip - 在pip install python-igraph期间出现问题,引发异常,pip捕获异常并尝试将输出保存到其日志中文件。不幸的是,输出中的非ASCII字符会阻止pip写入日志文件,这是您看到的最终异常(不是错误的实际原因)。在大多数情况下,非ASCII字符来自主目录或工作目录的名称,因此首先要确保其中任何一个都没有任何非ASCII字符。如果这不起作用,则必须通过在Python路径中的某处创建名为utf-8的文件并添加此代码来将Python的默认编码设置为sitecustomize.py

import sys
sys.setdefaultencoding('utf-8')

这将告诉Python使用UTF-8编码而不是ASCII编码IO操作 - 希望这将使pip能够完成日志记录阶段,然后您可以查看实际输出。完成调试后,不要忘记删除sitecustomize.py

答案 2 :(得分:0)

要在Ubuntu上安装pyhton-igraph,请尝试以下步骤:

  1. sudo add-apt-repository ppa:igraph / ppa
  2. sudo apt-get update
  3. sudo apt-get install python-igraph
  4. p.s 12.04版没有可用的包python-igraph。