从iPython noteb中的NetworkX调用GraphViz布局时出现错误“GraphViz的可执行文件未找到”

2024-10-01 11:39:33 发布

您现在位置:Python中文网/ 问答频道 /正文

我在代码中尝试使用GraphViz_layout方法时收到错误“InvocationException:GraphViz's executables not found,error GraphViz's executables not found”。当graphviz_layout替换为spring_layout时,代码可以正常工作。从回溯异常信息来看,它似乎调用了pydot_layout。我已经通过Canopy的包管理器安装了pydot模块,但是导入它没有帮助。我还安装了pip的graphviz和进口它没有运气。在

这是我的代码:

import networkx as nx
import matplotlib.pyplot as plt

keywordTreeFile = open('decode_wordnet/keywordTreeFile.TXT','r') #keyword generation file
keywordTreeFileLineData = keywordTreeFile.readlines()

G = nx.Graph()
pairData = []

for i in range(0,len(keywordTreeFileLineData)):
    pairData = pairData + [keywordTreeFileLineData[i].split('\t')]
    pairData[i][1] = pairData[i][1].rstrip('\n')
    G.add_edge(pairData[i][0],pairData[i][1])

pos = nx.graphviz_layout(G)

nx.draw(G,
        pos=pos,
        width = 1.0,
        with_labels = True,
        font_size = 3,
        linewidths=.1
        )
plt.savefig("graph.pdf")

以下是返回异常信息:

^{pr2}$

系统信息:我使用的是64位Mac操作系统10.9.5的最新版本和模块。另外,我用的是iPython笔记本。在


Tags: 模块代码pos信息notgraphvizlayoutnx
3条回答

为ubuntu用户:-在

sudo apt-get install -y graphviz libgraphviz-dev

这将安装python显示绘图所需的graphviz可执行文件

通常,您应该从全新安装Macports开始

  1. 删除旧的Macports

    sudo端口-f已安装卸载
    sudo port clean work archive全部

  2. 导入、安装和编译最近的Macports源文件

    cd~
    卷曲-Ohttps://distfiles.macports.org/MacPorts/MacPorts-2.3.3.tar.bz2
    tar xf MacPorts-2.3.3。焦油bz2
    cd MacPorts-2.3.3/
    /配置
    制造
    sudo make安装
    端口版本

  3. (可选)更新Macports

    sudo端口自我更新
    sudo端口升级过时

  4. 使用新的Macports安装Graphviz

    安装 sudo pip安装升级graphviz

我通过使用macports在Mac上安装GraphViz来解决这个问题:

sudo port install graphviz

在这种情况下,安装python包是不够的。尽管如此,这是一种应该被热情对待的依赖。在

相关问题 更多 >