运行NSGA2优化遇pymoo.model模块找不到错误,求助解决
解决pymoo中
ModuleNotFoundError: No module named 'pymoo.model'问题 问题根源
pymoo 2.0及以上版本对模块结构做了重构,旧的pymoo.model模块已被移除,原模块下的功能全部迁移到pymoo.core路径下。这就是为什么你能正常导入pymoo.algorithm等模块,但唯独model模块无法识别的原因。
修复方案
1. 替换旧导入路径
将所有from pymoo.model.xxx import yyy格式的导入语句,替换为对应的新路径:
- 原
from pymoo.model.problem import Problem→from pymoo.core.problem import Problem - 原
from pymoo.model.population import Population→from pymoo.core.population import Population - 原
from pymoo.model.algorithm import Algorithm→from pymoo.core.algorithm import Algorithm
简单来说,原model下的绝大多数内容都迁移到了core模块中。
2. 确认并选择合适的pymoo版本
- 查看当前安装版本:
pip show pymoo - 若坚持使用旧的
model模块,可降级到1.x版本(不推荐,新版本修复了大量bug并新增功能):pip install pymoo==1.5.0
3. 检查导入拼写
确认导入语句没有拼写错误,比如误将core写成model,或模块名称拼写错误。
代码示例修正
原错误导入:
from pymoo.model.problem import Problem from pymoo.model.algorithm import Algorithm
修正后:
from pymoo.core.problem import Problem from pymoo.core.algorithm import Algorithm
内容的提问来源于stack exchange,提问作者PlainMirror
相关产品推荐
相关产品推荐

