使用NetworkX时遇AttributeError:importlib.resources无files属性
解决NetworkX中importlib.resources.files的AttributeError问题
问题根源
你使用的是Python 3.9,而importlib.resources.files是Python 3.10及以上版本才新增的功能。当前安装的NetworkX版本依赖了这个3.10+的特性,所以在Python 3.9环境下运行时触发了报错。
解决方案
有两种可行的解决办法:
方法一:升级Python版本
将Python升级到3.10或更高版本,这样importlib.resources就会自带files方法,直接兼容当前的NetworkX版本。
方法二:降级NetworkX到兼容Python 3.9的版本
如果不想升级Python,可以把NetworkX降级到支持Python 3.9的版本(比如2.8.x系列)。打开终端执行以下命令:
pip install networkx==2.8.8
这个版本的NetworkX不会用到Python 3.10才有的importlib.resources.files,能在Python 3.9环境下正常运行。
另外注意:你代码里的from importlib import files语句并没有被实际使用,可以直接删除,不影响后续功能。
内容的提问来源于stack exchange,提问作者Kaixzer
相关产品推荐
相关产品推荐

