我正在尝试制作一些Networkx Graphviz图表。
运行后: pos = nx.graphviz_layout(G, prog = 'sfdp')
。 发生错误,说:
Error: remove_overlap: Graphviz not built with triangulation library
经过Google的一些调查,我发现GTS是个问题。 错误报告说:
Graphviz软件包是build立 – 没有gts。 这对于sfdp来说是个坏消息,它抱怨“Error:remove_overlap:Graphviz not built with triangulation library”,并且在编译时无法产生漂亮的输出–with-gts
看着(关于bug报告)的评论,有人说Graphviz的上游来源保持在链接,但我无法find新的版本下载。
在软件包列表中,我有最新的(trusty为2.36)。
任何人与sfdp
有问题?
任何帮助将不胜感激!
对于ubuntu的用户来说,这就是我在16.04上得到了grapvhiz的工作,从源码编译graphviz-2.40.1:
在第一步中,需要安装GTS ,因为graphviz查找gts.pc文件 。
running apt-file search gts.pc
学习我我必须安装'libgts-dev':
sudo apt install libgts-dev
接下来让pkg-config知道这些文件:
pkg-config --libs gts pkg-config --cflags gts
运行配置链接到gts库中:
./configure --with-gts --prefix ~ make make install
SFDP不会再抛出错误'错误:remove_overlap:Graphviz未建立三角测量库'
从这个答案修改pkg配置的命令行代码。
我可能会为Ubuntu 14.04,YMMV
直接从https://packages.debian.org/search?keywords=graphviz下载以下graphviz软件包
我使用拉伸(测试)组的版本2.38.0-13。 如果存在,您将需要删除32位libltdl7:
sudo apt-get remove libltdl7:i386
直接安装包
sudo dpkg -i graphviz_2.38.0-13_amd64.deb sudo dpkg -i libcgraph6_2.38.0-13_amd64.deb libgvc6_2.38.0-13_amd64.deb libgvpr2_2.38.0-13_amd64.deb libltdl7_2.4.6-0.1_amd64.deb
您可以预期依赖性错误。 我清除他们:
sudo apt-get install -f
然后重新安装
sudo dpkg -i graphviz_2.38.0-13_amd64.deb sudo dpkg -i python-pygraphviz_1.3.1-1_amd64.deb
错误不再出现,虽然我会很难推动说图表是更好的。
我知道这个问题是针对Ubuntu的,但是如果有人在使用自制软件的macOS上遇到同样的问题,那么下面的代码对我有用 :
brew reinstall graphviz --with-gts