安装jmetalpy后提示ModuleNotFoundError: No module named 'jmetal'如何解决
问题解决方案
原因说明
出现ModuleNotFoundError: No module named 'jmetal'的核心原因分为三类:jmetalpy未安装到你当前运行代码的Python环境中、安装的版本和Python3.8不兼容,或是本地文件与包名冲突。
分步解决步骤
- 第一步:匹配pip和Python环境
打开你运行代码使用的Anaconda环境对应的Prompt,先执行激活环境的命令(比如你的环境名是mo-opt就执行conda activate mo-opt),之后不要直接用pip安装,执行以下命令确保包安装到当前环境:
这一步可以避免系统中存在多个Python版本时,pip绑定的环境和你实际运行代码的环境不一致的问题。python -m pip install jmetalpy - 第二步:安装适配Python3.8的版本
最新版jmetalpy已经不再支持Python3.8,如果你执行上一步后仍有报错,卸载现有版本后安装兼容3.8的历史版本:pip uninstall -y jmetalpy jmetal pip install jmetalpy==1.5.5 - 第三步:排查本地文件冲突
检查你运行代码的工作目录下,是否存在名为jmetal.py的文件、或者名为jmetal的文件夹,如果有,修改文件名或者移动到其他目录,避免导入时优先匹配本地文件导致报错。 - 第四步:验证安装结果
在当前Anaconda环境的命令行中输入python进入交互模式,执行import jmetal,没有报错即表示安装成功,可正常运行你的NSGAII测试代码。
内容的提问来源于stack exchange,提问作者vp_050
相关产品推荐
相关产品推荐

