无法在Google Cloud Datalab中使用graphviz

时间:2017-04-15 09:17:56

标签: python graphviz google-cloud-datalab

This是一个使用Google Cloud Datalab可视化网络图的教程。

一切都很完美(需要在[25]中将“gcp.bigquery”改为“datalab.bigquery”)直到:

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后,pip命令无法正常工作,接下来的两行无法正确执行。

如果我忽略与pyparsing相关的行,只需安装/升级graphvizpydot,就会在“In [67]:”中的此行发生错误:

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

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

我认为这不是pyparsing问题。也许graphviz版本是重点,因为本教程是在大约两年前编写的。

有什么想法吗?

由于

1 个答案:

答案 0 :(得分:3)

更改后,网络图表显示正确

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

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

基于this StackOverflow post。这需要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

我希望这有帮助!