尝试导入嵌套模块时ModuleNotFound错误在Python

Ranajoy萨哈:

我的工作有下列基本文件夹结构Python项目,以及哪些每个Python的文件中包含的例子是大括号。

|   generate_recommendations.py
├───.ipynb_checkpoints
├───.vscode
├───csv
├───dao
|   |   ratingDAO.py { contains a class named RatingDAO }
│   ├───config
│   ├───core
|   |       rating.py { contains a class named Rating }
│   ├───db

目的:我想在ratingDAO.py进口rating.py,反过来要导入ratingDAO.py到generate_recommendations.py,并拥有所有工作进口。

我已经在文件中添加以下import语句ratingDAO.py

from core.rating import Rating

而且我还增加了在文件generate_recommendations.py以下import语句

from dao.ratingDAO import RatingDAO

当我执行ratingDAO.py,它运行没有任何错误。

但是,当我尝试执行generate_recommendations.py,我得到以下错误

Traceback (most recent call last):
  File "generate_recommendations.py", line 3, in <module>
    from dao.ratingDAO import RatingDAO
  File "D:\MEGASync\BSc Computer\Research Papers\recommendation-engine\dao\ratingDAO.py", line 3, in <module>
    from core.rating import Rating
ModuleNotFoundError: No module named 'core'

我无法解决的错误。我已经看到了相关的进口嵌套在计算器上约10个职位,但我无法找到的例子在这里笔者想深导入两个层次。

如果这些进口在Python是不可能的,我对我应该如何去在我的Python项目管理文件开放的思想。

在Java中,我已经使用了下面的文件夹结构,

├───recommendation
|   |   GenerateRecommendations.java
│   ├───core
|   |     Rating.java
│   └───dao
|         RatingDAO.java 

并用下面的代码导入Rating.java在RatingDAO.java,

import recommendation.core.Rating;

并用下面的代码导入RatingDAO.java到GenerateRecommendations.java

import dao.RatingDAO;

一切会工作,但同样没有为Python的工作这就是为什么我选择了初始指定的文件夹结构。

PS这是我第一次问StackOverflow上的问题。我尽力参照其他职位来形容我的问题。提前道歉,如果不匹配的好问题的标准。

希望有一个答复!:-)

客人 :

当您运行python generate_recommendations.py这使得脚本的路径上(目录sys.path导入时,这是搜索模块)。当您使用from core.rating import RatingratingDAO.py,然后它会搜索的路径,一个叫包core,但由于该dao目录不在路径上无法找到。

一种解决方案是中使用相对导入ratingDAO.py模块:

from .core.rating import Rating

这样,它会搜索相对于它自己的位置的core包。如果你想运行ratingDAO.py的,你可以做到这一点通过顶层目录python -m dao.ratingDAO(这是看跌的路径和当前的工作目录,然后搜索sys.path一个名为模块dao.ratingDAO并执行)。

或者你也可以使用绝对相对于层次结构的顶级目录导入:

from dao.core.rating import Rating

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

尝试导入python模块会返回ModuleNotFound错误

Python嵌套导入'ModuleNotFound'错误

尝试使用“请求”模块时导入错误

尝试导入NLTK模块时出现导入错误

Python:尝试从导入的包中导入模块时出现“ ModuleNotFoundError”

尝试在Kaggle中加载模块pynrrd时出现导入错误

当我尝试导入包含模块的目录时,Webpack错误

尝试从Arelle模块导入Cntlr时出现语法错误

导入Python文件[ModuleNotFound]

尝试导入已安装的Python模块收到错误

尝试在Python中导入Prov模块时出现ImportError

尝试导入Python模块时MATLAB在Linux上崩溃

导入嵌套模块时找不到模块

尝试导入具有类类型参数的类方法的模块时发生导入错误

导入错误:DLL 加载失败:找不到指定的模块。在尝试导入 TensorFlow 时

尝试导入与内置模块同名的模块会导致导入错误

在同一目录中导入模块时为何使用ModuleNotFound?

使用 Python 模块运行 Ansible Playbook 时出现导入错误

导入简单的C扩展模块时Python给出错误

从子目录导入模块时出现Python错误

在python中导入VLC模块时出现属性错误

Python 3.6 在尝试导入 Tensorflow 时抛出错误

尝试在setup.py中指定的同一软件包内安装Python扩展模块(Cython)时使用ModuleNotFound

尝试导入模块时故意使其失败

尝试安装模块时出现Python`no module pip .__ main __;`错误

Python 3.6:导入错误:尝试导入 gensim 时无法导入名称“config”

React-我尝试导入``firebase / app''时出现Firebase模块错误

Python 3模块导入错误

python json模块导入错误

TOP 榜单

热门标签

归档