Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 3.x Ubuntu graphviz';sfdp&x27;不起作用_Python 3.x_Ubuntu_Package_Updates_Graphviz - Fatal编程技术网

Python 3.x Ubuntu graphviz';sfdp&x27;不起作用

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不是用三角测量库构建的”,并且无法生成编译时创建的漂亮输出

我正在尝试制作一些Networkx图形

运行后:
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
我使用了拉伸(测试)组的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

对于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的依赖项之一,因此简单的重新安装就可以解决问题。