2015-05-21 55 views
2

我试图从命令行安装python-igraph。我在AWS服务器上创建了一个新的Ubuntu实例,因此我必须从命令行执行所有操作。以下是我已经从一个新鲜的完成安装Ubuntu的:在Ubuntu上安装python-igraph时出错(从命令行)

$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) 
+0

http://igraph.wikidot.com/installing-python- igraph-on-linux#toc0 尝试其他选项。手动安装 – Ajay

回答

0

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

  1. sudo add-apt-repository ppa:igraph/ppa
  2. sudo apt-get update
  3. sudo apt-get install pyt hon-igraph

p.s没有可用于12.04版本的软件包python-igraph。

+2

我一直在使用pip与Ubuntu 12.04上的igraph安装作斗争。刚试过'apt-get install python-igraph',它没有安装任何问题。不完全确定pip为何失败。其他人可以参加。 –

1

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

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

这将告诉Python编码IO操作与UTF-8编码代替ASCII - 希望这会使pip完成记录阶段,然后你可以看看实际输出。当您完成调试时,请不要忘记删除sitecustomize.py

+0

嘿@Tamás,使用'pip'和'apt-get'安装igraph有什么区别?查看我对上述答案的评论,我可以使用'apt-get'工作,但是使用'pip'不成功。让我知道,谢谢! –

+0

'apt-get install'只是下载并将预编译的igraph库复制到系统的相应位置。 'pip install'下载源代码并尝试从头开始编译它,尽管我试图尽可能地使它自动化。如果您有一些时间,请将'pip install python-igraph'的输出发布到某处,以便我们可以查看它并找出您的计算机上出现了什么问题。 –

+0

谢谢@Tamás查看我的答案了解一些额外的细节。 – nealmcb

3

我在Ubuntu 14.04上使用了virtualenv。仅仅为python-igraph安装Ubuntu软件包并不简单,因为我的virtualenv不包括站点软件包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

哦,非常感谢你@Nealmcb我认为这不是一个简单的调试! – user305883