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
相关的行,只需安装/升级graphviz
和pydot
,就会在“In [67]:”中的此行发生错误:
pos=nx.graphviz_layout(gmax, prog='circo')
AttributeError: 'module' object has no attribute 'graphviz_layout'
我认为这不是pyparsing
问题。也许graphviz
版本是重点,因为本教程是在大约两年前编写的。
有什么想法吗?
由于
答案 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
我希望这有帮助!