Python模块未找到错误-未修复

  • 本文关键字:错误 模块 Python python
  • 更新时间 :
  • 英文 :


所以我对Python很陌生。我一直在用一个类似于我希望自己构建的代码运行(所以是一个参考代码(。除了我需要用无效语法解决的一些错误外,除了我拥有的一个特定.py文件的一个问题外,所有这些似乎都能正常工作。

我的结构是这样的:

MoodForecasting -> eval -> nsga_two.py

不过,我在eval文件夹中确实有_init_.py,所以我不确定为什么这段代码不起作用。

我正试图从中加载一个特定的函数,所以结构应该看起来像这个

from nsga_two import PatientProblem

不幸的是,我一直收到错误ModuleNotFoundError: No module named 'nsga_two'

我检查了nsga_two.py本身,发现它无法加载inspyred。我进去解决了这个问题。因此,nsga_two.py本身运行良好。但是,我无法将它导入到我将要使用的主脚本中。

一些额外的细节:我正在使用带有Python自定义版本3.7.9的IDESpyder

我不确定这是否是Spyder的问题,也不确定我是如何在工作目录中加载的。(我的大部分编码经验都在MatLab和R中,因此拥有类似于RStudio和MatLab的IDE是我选择在Spyder工作的原因(

编辑:我在使用from eval import nsga_two.PatientProblem时出现语法错误。Python不喜欢那个时期。所以,我试着不经期。我拿到了error cannot import name 'nsga_twoPatientProblem' from 'eval' (C:UsersnameDesktopMoodForecasting-masterMoodForecasting-mastereval__init__.py)。我不知道为什么。但做from eval import nsga_two是有效的。CCD_ 11仅由CCD_ 12组成。这个解决方案应该可以用于此目的。我只是不知道为什么会发生这种事。

假设您的结构如下:

MoodForecasting-master/
main.py
eval/
__init__.py
nsga_two.py

当您运行主脚本来导入某些内容时,该脚本的目录将添加到模块搜索路径sys.path,在本例中为.../MoodForecasting-master/from nsga_two import PatientProblem引发了ModuleNotFoundError,因为nsga_two.py不在该目录中。

正如Iguananaut所说,from eval import nsga_two.PatientProblem在第一条评论中从来都不是一个有效的声明。这样做的有效方法是:

  1. 通过from eval import nsga_two导入并用作nsga_two.PatientProblem()
  2. from eval.nsga_two import PatientProblem导入,直接作为PatientProblem()使用

模块搜索从.../MoodForecasting-master/开始,第一个选项转到.../MoodForecasting-master/eval/以查找nsga_two.py,第二个选项转至.../MoodForecasting-master/eval/nsga.py以查找名为PatientProblem的属性。

正确的语法是:

来自package.module导入函数

所以:

从eval.nsga_toon导入PatientProblem

相关内容

  • 没有找到相关文章

最新更新