0

所以我正在尝试绘制我已经拥有的图表,并且我经常遇到我不理解的错误。

File "/usr/local/lib/python2.7/site-packages/pygraphviz/agraph.py", line 1305, in layout
    data=self._run_prog(prog,' '.join([args,"-T",fmt]))
File "/usr/local/lib/python2.7/site-packages/pygraphviz/agraph.py", line 1251, in _run_prog
    runprog=r'"%s"'%self._get_prog(prog)
File "/usr/local/lib/python2.7/site-packages/pygraphviz/agraph.py", line 1239, in _get_prog
    raise ValueError("Program %s not found in path."%prog)
ValueError: Program dot not found in path.

但是我已经用 brew 安装了 graphviz 并且我的路径有效:

Computer:~ name$ dot -V
dot - graphviz version 2.38.0 (20140413.2041)

那么有什么问题呢?为什么找不到程序?谢谢!


画它我喜欢这样

A=nx.to_agraph(graph)         # convert to a graphviz graph
A.layout(prog='dot')          # neato layout
A.draw(filename+'.png')       # write 
4

2 回答 2

0

我有一个与您类似的设置(Mac OSX 10.10,brew),它对我有用。例如

aric:~ aric$ python
Python 2.7.6 (default, Sep  9 2014, 15:04:36) 
[GCC 4.2.1 Compatible Apple LLVM 6.0 (clang-600.0.39)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import networkx as nx
>>> A = nx.to_agraph(nx.path_graph(4))
>>> A
<AGraph path_graph(4) <Swig Object of type 'Agraph_t *' at 0x10dbd9600>>
>>> print A
strict graph "path_graph(4)" {
    0 -- 1;
    1 -- 2;
    2 -- 3;
}

>>> A.layout(prog='dot')
>>> A.draw('foo.png')
>>> 
aric:~ aric$ brew -v
Homebrew 0.9.5
aric:~ aric$ uname -a
Darwin aric.local 14.0.0 Darwin Kernel Version 14.0.0: Fri Sep 19 00:26:44 PDT 2014; root:xnu-2782.1.97~2/RELEASE_X86_64 x86_64

也许您的 pygraphviz 安装有问题?

尝试

$ python setup_egg.py test

从 pygraphviz 源目录中查看是否通过。

你可能需要

$pip install doctest-skip-unicode
$pip install nose
于 2015-01-10T17:41:48.943 回答
0

好的,发现它在挖! 这是eclipse故障和PyDev。

确切地说,在 Eclipse 设置中缺少您的 $PATH。

有用的链接:

OSX + Eclipse + PyDev - PATH 不正确

Mac OS X 中的环境变量


对我来说工作:

launchctl setenv PATH $PATH

并重新启动日食。每次重新启动时都必须这样做。不幸的是,这是一个苹果虫,您对此无能为力。

另一种方式是:

ln -s /Applications/eclipse/Eclipse.app/Contents/MacOS/eclipse /usr/local/bin/eclipse

然后从终端启动eclipse:

日食&

并且 PATH 变量就可以了。:(

于 2015-01-10T18:45:40.630 回答