Я учу себя Python и NLTK для работы по книге "Обработка естественного языка с помощью Python" ("www.nltk.org/book").
Я застрял в главе 4, разделе 4, части 8 в NetworkX. Когда я пытаюсь запустить пример 4.15, он должен нарисовать график, но вместо этого я получаю следующее сообщение об ошибке:
AttributeError: модуль «networkx.drawing» не имеет атрибута «graphviz_layout»
Строка кода виновника выглядит так
>>> nx.draw_graphviz(graph,
node_size = [16 * graph.degree(n) for n in graph],
node_color = [graph.depth[n] for n in graph],
with_labels = False)
Вот упрощенный код, заимствованный из "networkx.github.io/documentation/networkx-1.10/tutorial/tutorial.html"
>>> import networkx as nx
>>> import matplotlib.pyplot as plt
>>> G=nx.Graph()
>>> G.add_node(1)
>>> G.add_nodes_from([2,3])
>>> nx.draw_graphviz(G)
Traceback (most recent call last):
File "<pyshell#92>", line 1, in <module>
nx.draw_graphviz(G)
File "C:\Users\Cheese\AppData\Local\Programs\Python\Python35-32\lib\site-packages\networkx\drawing\nx_pylab.py", line 984, in draw_graphviz
pos = nx.drawing.graphviz_layout(G, prog)
AttributeError: module 'networkx.drawing' has no attribute 'graphviz_layout'
>>>
Можете ли вы сказать мне, как это исправить, пожалуйста?
Я использую домашнюю премиум-версию Windows 7, использую Python 3.5, Graphviz2.38 (и каталог для этого находится в переменной среды PATH) и NetworkX 1.11.
Я гуглил несколько раз и не могу найти ничего, что работает для меня. Я прошел учебные пособия по NetworkX и graphviz, и это тоже не помогло.
Вот что я нашел, что не помогло:
"stackoverflow.com/questions/39411102/attributeerror-module-object-has-no-attribute-graphviz-layout-with-networkx" (код ответа дал мне то же сообщение об ошибке)
"python.thenaiveapproach.com/buggy-module-installation-networkx-pygraphviz/" (в сообщении об ошибке требуется pygraphviz, который я не могу установить. pip говорит, что для запуска требуется Visual C++, и я не могу установить его на мой рабочий компьютер)
"codedump.io/share/c3aAbCneu2oA/1/attributeerror-39module39-object-has-no-attribute-39graphvizlayout39-with-networkx-111" (также требуется pygraphviz - см. выше)
Большое спасибо, Дженнифер
draw_networkx
. - person Bonlenfum   schedule 09.12.2016