如何解决MacOS M1 Conda环境导入pymnet库报circular import错误问题
pymnet库ImportError循环导入问题解决方案
报错核心原因
该报错是pymnet部分发行版本的原生代码问题,__init__.py文件中导入顺序不合理导致循环依赖,和Mac M1架构、Conda环境、Python 3.9版本无直接关联。
可行解决方案
- 方案一:降级到稳定版本(最省事)
卸载当前版本,安装无bug的0.4.0稳定版:
安装完成后重启Python内核,即可正常导入pip uninstall pymnet -y pip install pymnet==0.4.0MultilayerNetwork。 - 方案二:手动修改初始化文件(需保留当前版本功能时用)
打开报错提示路径下的/opt/miniconda3/lib/python3.9/site-packages/pymnet/__init__.py文件,将第24行的from . import sampling语句剪切到文件所有导入语句的最末尾,保存后重启内核即可。 - 方案三:临时调整导入顺序(无需修改库文件)
导入时先单独引入sampling模块,再引入目标类即可绕过问题:import pymnet.sampling from pymnet.net import MultilayerNetwork
功能验证
导入完成后运行如下代码验证功能正常:
test_net = MultilayerNetwork() print("多层网络实例初始化成功,问题已解决")
内容的提问来源于stack exchange,提问作者imran_kays
相关产品推荐
相关产品推荐

