python + igraph "plotting not available"

29

我在 RHEL 机器上从源代码安装了 python-igraph 0.5.4 和 igraph 0.5.4(也测试过 0.6),一切都很好,但是当我尝试绘制图表时出现以下错误:

"TypeError: plotting not available"

在配置或安装阶段没有出现任何错误或警告。

在 Linux 上安装什么才能使绘图工作?由于我没有 root 权限,所以需要从源代码安装它。

5个回答

17

我在我的MacBook上遇到了同样的问题,所以我想分享一下我的解决方案。

我尝试安装pycairopy2cairo。安装似乎没有问题,但是接着出现了以下问题:

  1. 我无法import pycairo
  2. igraph的图形绘制无法工作。

以下内容解决了igraph的图形绘制问题:

sudo pip install cairocffi

或者只是

pip install cairocffi

所以我使用了cairocffi代替pycairo,这样就解决了问题。


2
太好了!在我的py37 venv中也起作用了:pip install cairocffi - Victoria Stuart
我在这之后得到了 TypeError: expected str, bytes or os.PathLike object, not Layout 的错误。虽然它解决了之前的错误。 - fizzybear

13

igraph使用Cairo库进行绘图,因此您需要安装Cairo及其Python接口。很有可能Cairo已经安装在您的机器上(查找名为libcairo*的文件在/usr/lib/usr/lib64中),所以您只需要安装Cairo的Python接口即可。

但是要注意一点,为了编译Cairo的Python接口,您需要拥有Cairo的头文件,这些文件可能存在于您的系统中也可能不存在。如果它们未安装,您可以从Cairo的源代码中获取包含文件。


看起来我安装了cairo 1.2.4,而现代的pycairo需要更新的版本。igraph 0.6需要现代的pycairo吗?还是我也可以使用旧版本的pycairo呢? - Simd
我应该说我尝试在我的主目录中安装一个更新的cairo,但它还需要pixman,而且我无法解决依赖关系/弄清楚如何告诉它库的位置。 - Simd
你可以使用旧版的PyCairo,它应该能够正常工作。只需确保它与您机器上的Cairo版本匹配即可。 - Tamás
谢谢,最终我让它工作了。最后的诀窍是意识到 PYTHONPATH 可能需要有多个目录,这取决于模块安装在哪里。特别是,我需要同时包含 .../lib/python2.6/site-packages 和 .../lib/python。 - Simd
在 Mac OS X 上,"brew install cairo" 是我缺失的部分。安装和卸载、设置和取消设置、导出和取消导出、激活和取消激活以及诸如此类的操作,把我带进了一个又长又窄、布满荆棘的兔子洞里。上面经历的一切,只有上天知道我的 Python 世界处于什么混乱状态。 - Reb.Cabin

2

正如几位回答者已经指出的那样,这种情况可能需要使用pycairo。使用Conda安装pycairo仅花费不到一分钟即可解决我的问题:

conda install -c conda-forge pycairo

我假设使用PIP也可以达到相同的结果:
pip install pycairo

2
我有同样的问题(针对Windows系统)。您需要安装Cairo。
不幸的是,Windows没有官方的安装程序。但是有非官方版本
注意事项:
  • cpXX表示Python的版本(请检查:python -V
  • 在包含文件的文件夹中运行:pip install *.whl(pip的版本必须大于19)
详见官方安装教程以获取更多细节(igraph在Windows上的章节)。

0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接