繁体   English   中英

从同一项目中的不同目录导入类

[英]Importing classes from different directory within the same project

我有下一个目录结构:

.
├── models
│   ├── description.py
│   ├── identification.py
│   └── person.py
└── utils
    └── generators
        └── person.py

我在导入models目录中存在的每个文件中的类时遇到下一个错误:

Traceback (most recent call last):
  File "utils/generators/person.py", line 1, in <module>
    from models.person import Person
ModuleNotFoundError: No module named 'models'

这是我的utils/generators/person.py文件中的代码:

from models.person import Person
from models.identification import Identification
from models.description import Description

如何在我的文件中导入这些类?

Python 不会在上级目录的后代目录中搜索导入时的模块。

为了消除这个问题,您可以在根目录中引入一个main.py (您将其标记为点),它将导入公共命名空间。

另外,正如评论中明智地指出的那样,不再需要为 Python 3.3+ 添加空的__init__.py文件(请参阅此答案),因此这不是 Python 3 的问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM