我试图从命令行安装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)
答案 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} libcsparse3.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,请尝试以下步骤:
p.s 12.04版没有可用的包python-igraph。