无法从子目录导入python模块

时间:2020-05-31 16:55:39

标签: python module importerror

我的结构

/api/__init__.py
/api/api.py
/database_access/__init__.py
/database_access/databaseaccess.py
/database_access/models/__init__.py
/database_access/models/manufacturer.py

manufacturer.py

class Manufacturer:
    # methods here

还有databaseaccess.py

import pymongo
from models import manufacturer # <-- unable to import 'models'

myclient = pymongo.MongoClient("mongodb://localhost:27017/")

computer_parts_database = myclient["computer_parts"]
part_types = computer_parts_database["manufacturers"]
parts = computer_parts_database["parts"]

class DatabaseAccess:
    manufacturers = computer_parts_database["manufacturers"]


da = DatabaseAccess()
#mf = Manufacturer.init2(1, "Advanced Micro Devices", "AMD")
#da.manufacturers.insert_one(mf.toObject())

我无法加载manufacturer模块。 import modelsimport models.manufacturer

也会发生同样的情况

我在api.py中遇到相同的问题,如果我想访问databaseaccess模块,我不确定如何

2 个答案:

答案 0 :(得分:1)

如果您不使用PyCharm(或类似的东西),而是使用简单的32位或64位python代替它们: 转到命令提示符并输入“ pip install _____”。 _____代表您要安装的模块的名称。 如果您使用的是PyCharm: 转到“文件”(左上),然后单击它。然后按设置。之后,将出现一个新窗口,左侧带有一些按钮。单击带有项目名称的按钮的三角形。然后将有两个按钮。按项目解释器。在这里,您将找到项目中已经安装(对于您而言)(以及其他一些)的所有模块的名称。按下+(向上),然后,如果需要的模块,则必须输入名称。单击它,然后按安装按钮(向下,左)。等待它安装,然后就可以使用它。每次启动新项目时都必须执行此操作。 如果您在Python中使用其他工具: 祝你好运,我不知道答案。

不执行此操作将不起作用(您要尝试执行的操作)。 希望你了解一切

答案 1 :(得分:0)

我没注意到的是我的根是__init__.py。我删除了它,错误消失了