在 Ubuntu 上安装 python-igraph 时出错(从命令行)
Error installing python-igraph on Ubuntu (from command line)
我正在尝试从命令行安装 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)
要在 Ubuntu 上安装 pyhton-igraph,请尝试以下步骤:
- sudo add-apt-repository ppa:igraph/ppa
- sudo apt-get 更新
- sudo apt-get 安装 python-igraph
p.s 没有软件包 python-igraph 可用于 12.04 版本。
这似乎至少部分来自 pip
- pip install python-igraph
期间出现问题,引发异常,pip
捕获异常并尝试将输出保存到它的日志文件。不幸的是,输出中的非 ASCII 字符阻止 pip
写入日志文件,这是您看到的最后一个异常(不是错误的实际原因)。在大多数情况下,非 ASCII 字符来自您的主目录或工作目录的名称,因此首先确保它们中没有任何非 ASCII 字符。如果这不起作用,您必须通过在 Python 路径中某处创建一个名为 sitecustomize.py
的文件并添加以下代码,将 Python 的默认编码设置为 utf-8
:
import sys
sys.setdefaultencoding('utf-8')
这将告诉 Python 使用 UTF-8 编码而不是 ASCII 对 IO 操作进行编码 - 希望这将使 pip
能够完成日志记录阶段,然后您可以查看实际输出。完成调试后不要忘记删除 sitecustomize.py
。
我在 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} 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 文档没有讨论 Linux cairo 绑定的安装,等等我自己的 我遇到了这个错误,这导致我对自己的追逐感到沮丧和失败:
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
我正在尝试从命令行安装 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)
要在 Ubuntu 上安装 pyhton-igraph,请尝试以下步骤:
- sudo add-apt-repository ppa:igraph/ppa
- sudo apt-get 更新
- sudo apt-get 安装 python-igraph
p.s 没有软件包 python-igraph 可用于 12.04 版本。
这似乎至少部分来自 pip
- pip install python-igraph
期间出现问题,引发异常,pip
捕获异常并尝试将输出保存到它的日志文件。不幸的是,输出中的非 ASCII 字符阻止 pip
写入日志文件,这是您看到的最后一个异常(不是错误的实际原因)。在大多数情况下,非 ASCII 字符来自您的主目录或工作目录的名称,因此首先确保它们中没有任何非 ASCII 字符。如果这不起作用,您必须通过在 Python 路径中某处创建一个名为 sitecustomize.py
的文件并添加以下代码,将 Python 的默认编码设置为 utf-8
:
import sys
sys.setdefaultencoding('utf-8')
这将告诉 Python 使用 UTF-8 编码而不是 ASCII 对 IO 操作进行编码 - 希望这将使 pip
能够完成日志记录阶段,然后您可以查看实际输出。完成调试后不要忘记删除 sitecustomize.py
。
我在 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} 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 文档没有讨论 Linux cairo 绑定的安装,等等我自己的 我遇到了这个错误,这导致我对自己的追逐感到沮丧和失败:
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