属性错误:模块'networkx'没有属性'Graph'



我通过下载分发文件并运行以下命令来安装 networkx:

python setup.py install

它似乎已经成功,我在安装后收到此消息

Installed c:pythonpython36-32libsite-packagesdecorator-4.0.11-py3.6.egg
Finished processing dependencies for networkx==1.11

但是当我运行一个非常简单的测试代码时,我得到错误

import networkx as nx
G=nx.Graph()
print(G.nodes())
print(G.edges())
print(type(G.nodes()))
print(type(G.edges()))
> Traceback (most recent call last):   File "netExample.py", line 3, in
> <module>
>     G=nx.Graph() 
> AttributeError: module 'networkx' has no attribute 'Graph'

运行print(dr(nx))提供以下属性:

> ['GraphMLReader', 'GraphMLWriter', '__builtins__', '__cached__',
> '__doc__', '__file__', '__loader__', '__name__', '__package__',
> '__path__', '__spec__', 'exception', 'generate_adjlist',
> 'generate_edgelist', 'generate_gexf', 'generate_gml',
> 'generate_graph6', 'generate_graphml', 'generate_multiline_adjlist',
> 'generate_pajek', 'generate_sparse6', 'parse_adjlist',
> 'parse_edgelist', 'parse_gml', 'parse_graph6', 'parse_graphml',
> 'parse_leda', 'parse_multiline_adjlist', 'parse_pajek',
> 'parse_sparse6', 'read_adjlist', 'read_edgelist', 'read_gexf',
> 'read_gml', 'read_gpickle', 'read_graph6', 'read_graphml',
> 'read_leda', 'read_multiline_adjlist', 'read_pajek', 'read_shp',
> 'read_sparse6', 'read_weighted_edgelist', 'read_yaml', 'readwrite',
> 'relabel_gexf_graph', 'utils', 'write_adjlist', 'write_edgelist',
> 'write_gexf', 'write_gml', 'write_gpickle', 'write_graph6',
> 'write_graphml', 'write_multiline_adjlist', 'write_pajek',
> 'write_shp', 'write_sparse6', 'write_weighted_edgelist', 'write_yaml']

按照以下步骤,它在python 3.5版本中对我有用。

  1. 已下载网络x-1.11.zip
  2. 已解压缩压缩文件
  3. 打开 CMD 并cd to extracted directory
  4. 运行python setup.py install
  5. 已验证使用pip freeze的安装
  6. 将测试代码保存在netExample.py文件中。
  7. 在 CMD 中,cd 到包含netExample.py的文件夹
  8. 运行python netExample.py

以下是我得到的输出:

D:Naveenso>python netExample.py
[]
[]
<class 'list'>
<class 'list'>

请检查以下内容:

  1. 验证您是否从官方网站下载。
  2. 在实际的networkx模块存在之前,检查 Windows 路径中是否存在名为 networkx.py 的任何其他文件

最新更新