Python中igraph在控制台可运行但脚本执行报错求助
解决igraph脚本执行时的AttributeError问题
嘿,这个问题我太熟了!你先看看自己写的脚本文件名是不是叫igraph.py?这就是导致报错的核心坑点!
快速修复步骤:
- 立刻把你的脚本重命名,比如改成
my_graph_test.py,绝对不能用和第三方库同名的文件名(比如igraph.py) - 检查脚本所在的文件夹,如果有自动生成的
igraph.pyc文件或者__pycache__文件夹,直接删掉它们——这些是Python的编译缓存文件,不清理的话可能还会触发同样的问题 - 重新运行你的脚本,这时候
import igraph就会正确导入你安装的python-igraph库,g = igraph.Graph()也能正常执行了
为什么会出现这个错误?
当你在脚本里写import igraph时,Python会按固定顺序查找模块:优先找当前工作目录下的文件,之后才会去系统的第三方库目录里查找。你的脚本叫igraph.py,就会导致Python错误地导入你自己写的这个脚本,而不是你通过pip安装的真正的python-igraph库。你自己的脚本里并没有定义Graph类,自然就会抛出AttributeError: module 'igraph' has no attribute 'Graph'的错误。
另外你之前卸载igraph包的操作和这个报错没关系,不用纠结这个细节~
内容的提问来源于stack exchange,提问作者Vlad Gheorghe
相关产品推荐
相关产品推荐

