Python 3.x Ubuntu graphviz';sfdp&x27;不起作用
我正在尝试制作一些Networkx图形 运行后:Python 3.x Ubuntu graphviz';sfdp&x27;不起作用,python-3.x,ubuntu,package,updates,graphviz,Python 3.x,Ubuntu,Package,Updates,Graphviz,我正在尝试制作一些Networkx图形 运行后:pos=nx.graphviz\u布局(G,prog='sfdp')。发生错误,说明: Error: remove_overlap: Graphviz not built with triangulation library 经过谷歌的一些研究,我发现GTS是个问题。声明: Graphviz包是在没有gts的情况下构建的。这对sfdp来说是个坏消息,它抱怨“错误:删除重叠:Graphviz不是用三角测量库构建的”,并且无法生成编译时创建的漂亮输出
pos=nx.graphviz\u布局(G,prog='sfdp')
。发生错误,说明:
Error: remove_overlap: Graphviz not built with triangulation library
经过谷歌的一些研究,我发现GTS是个问题。声明:
Graphviz包是在没有gts的情况下构建的。这对sfdp来说是个坏消息,它抱怨“错误:删除重叠:Graphviz不是用三角测量库构建的”,并且无法生成编译时创建的漂亮输出——用gts
查看评论(关于bug报告),有人说Graphviz的上游源代码保持不变,但我找不到新版本可供下载
在包裹上,我有最新的一个(trusty为2.36)
还有人对sfdp有问题吗
任何帮助都将不胜感激 我可能会让它在Ubuntu 14.04上运行,YMMV
直接从以下网站下载以下graphviz软件包
- 图2.38.0-13_amd64.deb
- 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
- python-pygraphviz_1.3.1-1_amd64.deb
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
对于ubuntu用户,我就是这样让graphviz在16.04上工作的,从源代码处编译graphviz-2.40.1: 在第一步中,需要安装,因为graphviz会查找 运行
apt文件搜索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不再抛出错误“error:remove_overlap:Graphviz未使用三角测量库构建”
pkg配置的命令行代码是我根据答案修改的。同样的问题,还没有解决方案。@PaulSmith我很久以前就放弃了:ddownload
graphviz-2.40.1.tar.gz
来自并运行了您的过程,它可以正常工作。我可以使用一些命令(dot
,fdp
),但不能使用其他命令(sfdp
,neato
)。知道这是怎么回事吗?(使用Ubuntu16.04.2)`/usr/bin/sfdp:顺便说一句,没有这样的文件或目录是问题所在,而其他命令的工作方式与正常一样。似乎与上述过程答案一致(1.安装libgts dev
,2.添加——配置gts
)。还有其他人和我有同样的问题吗?好吧,我让它工作起来了(至少还没有问题)——对于其他有类似问题的人,我在这里写了一些信息:虽然这可能只是我做错了什么。谢谢你,山姆!你好@JoeRocc,对不起,我没有看到你的评论。很高兴您能使用它。到目前为止,gts是graphviz的依赖项之一,因此简单的重新安装就可以解决问题。