【问题标题】:python - igraph plot not available (cairo already installed)python - igraph 绘图不可用(cairo 已安装)
【发布时间】:2015-03-10 17:40:16
【问题描述】:

我已经使用 brew 安装了 py2cairo,但是在尝试使用 igraph 绘图时不断出错。我收到以下错误:

>>> import igraph as ig
>>> from igraph import *
>>> UG = ig.Graph()
>>> UG.add_vertex('a')
>>> UG.add_vertex('b')
>>> UG.add_vertex('c')
>>> UG.add_vertex('d')
>>> UG.add_edge('a','d')
>>> UG.add_edge('a','c')
>>> UG.add_edge('b','c')
>>> UG.add_edge('b','a')

>>> layout = UG.layout_kamada_kawai()
>>> plot(UG,layout = layout)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File ".../anaconda/lib/python2.7/site-packages/igraph/drawing/__init__.py", line 427, in plot
    result = Plot(target, bbox, background="white")
  File ".../anaconda/lib/python2.7/site-packages/igraph/drawing/__init__.py", line 122, in __init__
    self._surface_was_created = not isinstance(target, cairo.Surface)
  File ".../anaconda/lib/python2.7/site-packages/igraph/drawing/utils.py", line 396, in __getattr__
    raise TypeError("plotting not available")
TypeError: plotting not available

【问题讨论】:

    标签: python plot igraph


    【解决方案1】:

    brew 可能会为其自己的 Python 安装 py2cairo,而您在 Anaconda Python 下运行 igraph。在您的机器上为一个 Python 发行版安装的模块不会神奇地出现在另一个 Python 发行版下,因此您要么必须为 Anaconda Python 获取 py2cairo,要么为 Homebrew 的 Python 编译 igraph 的 Python 接口。

    【讨论】:

    • 感谢您的帮助!我用 Anaconda 搜索了 py2cairo 安装,我得到了以下信息——stackoverflow.com/questions/11491268/… 我尝试使用“pip install cairocffi”安装 cairo,安装没有错误,但我无法从 python 模块调用“import cairocffi”其他选项我发现是用 brew 安装 cairo -- 是安装 'py2cairo' 卸载 Anaconda python 并用 brew 安装 python 的唯一选择吗?
    • 可能是同一个问题;当您键入pip install cairocffi 时,它会将cairocffi 安装到您的一个Python 发行版中,然后您尝试从另一个发行版中导入它。至于你的最后一个问题:不,还有很多其他方法;例如,我使用pyenv 自己编译了Python,然后为这个特定的Python 安装编译了igraphcairo。您只需确保在调用 pip install whatever 时调用“正确的”pip,即属于您打算使用的 Python 发行版的那个。
    • 因此,如果 Anaconda Python 提供了自己的 pip 副本,请确保在调用 pip install cairocffi 时调用该特定的 pip,而不是 OS X 默认附带的那个。
    • 我会对此进行调查并回复您 - 感谢您的帮助!
    【解决方案2】:

    尝试更新您的 PYTHONPATH 变量,例如(插入您的用户名代替 NNNN):

    export PYTHONPATH=/Users/NNNN/anaconda/bin/python:$PYTHONPATH
    

    【讨论】:

      【解决方案3】:

      我遇到了同样的问题。我尝试安装 pycairo、py2cairo 但 igraph 的 plot 不起作用。

      以下解决了 igraph 绘图问题:

      sudo pip install cairocffi
      

      我使用 cairocffi 而不是 pycairo,这解决了我的问题。

      【讨论】:

        猜你喜欢
        • 2012-08-17
        • 1970-01-01
        • 2023-03-10
        • 2015-04-10
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多