networkx显示随机状态索引不正确。

26

我正在尝试使用networkx和Python绘制简单的图形。

这是我的代码:

import networkx as nx
import matplotlib.pyplot as plt
G = nx.complete_graph(5)
nx.draw(G, with_labels=True, font_weight='bold')
plt.show()

但是我遇到了错误

Message=random_state_index is incorrect
Source=***\PythonTest.py
StackTrace:
File "***\PythonTest.py", line 15, in <module>
  nx.draw(G, with_labels=True)

Python 3.7 64位

操作系统 Windows

networkx 2.2、2.3或2.5都存在同样的问题。

6个回答

31

如果您更新到最新的装饰器版本5.0.9(2021年6月),则问题将得到解决

执行命令 pip install decorator==5.0.9 然后重启


1
感谢您的建议,我已将装饰器更新为5.0.9版本,使用pip install decorator==5.0.9命令后重启笔记本电脑,现在可以正常工作了。 - prof_FL

14

1
或者根据您在链接问题中讨论的内容,稍等一会儿升级到decorator >= 5.0.1。 - Sparky05
2
感谢,将matplotlib版本降级至2.2.3和decorator降级至4以解决问题。 - S.Shafie
3
正如其他相关问题和答案中所讨论的一样(https://dev59.com/31EG5IYBdhLWcg3wYb9A#66922837),装饰器 5.0.5 已经修复了这个错误。 - Sparky05
1
我遇到了装饰器 5.0.6 的问题,但升级到 5.0.9 解决了这个问题。 - devinbost
装饰器 5.0.6 也有同样的问题。升级到 5.0.10 可以解决它。 - Daniel Chin

3

打开Anaconda命令提示符并输入:

conda update --all

.. and Enter, 它安装了最稳定且最兼容的软件包。


对我有用,谢谢!最好将其保留在单独的环境中,以确保其他代码继续正常工作。 - Dr.Ripper

3
只需更新装饰器和networkx版本即可:
pip install --user decorator==4.3.0 # (ignore waring for availability of newer version)

pip install --user networkx==2.3

这对我很有效。


0

我刚在Anaconda Prompt中创建了一个新的Python 3.6环境,并确保我的Jupyter Notebook可以连接到该新环境。

在Jupyter中使用这个新环境运行你的代码,它应该可以正常工作。这样做会降级你的networkxdecorator版本,从而解决问题。


这并没有回答问题。一旦您拥有足够的声望,您将能够评论任何帖子;相反,提供不需要询问者澄清的答案。- 来自审核 - David Medinets
目前你的回答不够清晰,请[编辑]以添加额外的细节,帮助其他人了解这如何解决所问的问题。你可以在帮助中心中找到有关编写好答案的更多信息。 - Community

0
错误是由于装饰器安装与“networkz”模块中使用的不兼容导致的。将装饰器升级到最新版本5.1.1可以解决这个问题。以下是代码片段。 pip install decorator --upgrade pip install decorator==5.1.1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接