2017-04-15 67 views
1

This是关于使用Google Cloud Datalab可视化网络图的教程。无法在Google Cloud Datalab中使用graphviz

一切工作完美(需要改变 “gcp.bigquery” 到 “datalab.bigquery” 中[25]),直到:

In [35]: 

%%bash 
/usr/bin/yes | apt-get install graphviz 
pip install --upgrade graphviz 
/usr/bin/yes | pip uninstall pyparsing 
pip install -Iv https://pypi.python.org/packages/source/p/pyparsing/pyparsing-1.5.7.tar.gz 
pip install --upgrade pydot 

一旦我卸载pyparsing,画中画命令不能工作,未来2行不能正确执行。

如果我忽略与pyparsing,只要安装/升级graphvizpydot线,将发生在这一行中的 “在[67]:”:错误

pos=nx.graphviz_layout(gmax, prog='circo') 

AttributeError: 'module' object has no attribute 'graphviz_layout'

我不我认为这是一个pyparsing的问题。也许graphviz版本是关键,因为本教程是在大约2年前编写的。

有什么想法吗?

由于

+1

可能重复的[AttributeError:'模块'对象没有属性'graphviz \ _layout'与networkx 1.11](http://stackoverflow.com/questions/39411102/attributeerror-module-object-has-no-attribute- graphviz的布局与 - networkx) – snakecharmerb

回答

2

我基于this StackOverflow post改变

pos=nx.graphviz_layout(gmax, prog='circo') 

pos=nx.nx_pydot.graphviz_layout(gmax, prog='circo') 

后的网络图显示正确。这需要pydotplus,所以我还用%%bash更新了其中一个单元。我跑

%%bash 
apt-get update 
apt-get install -y graphviz 
pip install pydot 
pip install graphviz 
pip install pydotplus 

,而不是

%%bash 
/usr/bin/yes | apt-get install graphviz 
pip install --upgrade graphviz 
/usr/bin/yes | pip uninstall pyparsing 
pip install -Iv https://pypi.python.org/packages/source/p/pyparsing/pyparsing-1.5.7.tar.gz 
pip install --upgrade pydot 

我希望这有助于!

相关问题