Ubuntu graphviz'sfdp'无效

VlS*_*VlS 9 ubuntu updates package graphviz python-3.x

我正在尝试制作一些 Networkx Graphviz图.

跑完后:pos = nx.graphviz_layout(G, prog = 'sfdp').发生错误,说:

Error: remove_overlap: Graphviz not built with triangulation library
Run Code Online (Sandbox Code Playgroud)

经过一些谷歌研究后,我发现GTS就是问题所在.错误报告指出:

Graphviz包是构建的--with-gts.这对于s​​fdp来说是坏消息,它抱怨"错误:remove_overlap:Graphviz不是用三角测量库构建的"并且无法生成它在编译时创建的漂亮输出--with-gts

查看评论(关于错误报告),有人说Graphviz的上游源保持链接,但我找不到要下载的新版本.

在包装清单上,我有最新的一个(可靠的 2.36 ).

其他人有问题sfdp吗?

任何帮助将不胜感激!

Mat*_*tW. 6

我知道这个问题是针对Ubuntu的,但是如果有人在使用自制软件macOS上遇到同样的问题,以下内容对我有用:

brew reinstall graphviz --with-gts
Run Code Online (Sandbox Code Playgroud)


小智 6

对于ubuntu用户,这就是我让grapvhiz在16.04上工作的方法,从源代码编译graphviz-2.40.1:

在第一步中,需要安装GTS,因为graphviz会查找gts.pc文件.

运行

apt-file search gts.pc

告诉我我必须安装'libgts-dev':

sudo apt install libgts-dev
Run Code Online (Sandbox Code Playgroud)

接下来让pkg-config知道文件:

pkg-config --libs gts

pkg-config --cflags gts
Run Code Online (Sandbox Code Playgroud)

运行configure以在gts库中链接:

./configure --with-gts  --prefix ~
make
make install
Run Code Online (Sandbox Code Playgroud)

SFDP不再抛出错误'错误:remove_overlap:Graphviz不是用三角测量库构建的'

我从这个答案中修改了pkg配置的命令行代码.


Pau*_*ith 1

可能让它适用于 Ubuntu 14.04,YMMV

直接从https://packages.debian.org/search?keywords=graphviz下载以下 graphviz 包

  • 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

我使用了拉伸(测试)组的版本 2.38.0-13。您需要删除 32 位 libltdl7(如果存在):

sudo apt-get remove libltdl7:i386
Run Code Online (Sandbox Code Playgroud)

直接使用安装包

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
Run Code Online (Sandbox Code Playgroud)

您可能会遇到依赖错误。我用以下方法清除了它们:

sudo apt-get install -f
Run Code Online (Sandbox Code Playgroud)

然后重新安装

sudo dpkg -i graphviz_2.38.0-13_amd64.deb
sudo dpkg -i python-pygraphviz_1.3.1-1_amd64.deb
Run Code Online (Sandbox Code Playgroud)

尽管我很难说图表有任何改善,但错误不再出现。