我正在尝试将模块my_app/common/model/Model.py
导入文件/my_app/common/database/db_update.py
。我的PYTHONPATH
指向app/common/
。但是,当我尝试这样做时,我收到错误消息:
File "/home/me/my_app/common/database/db_update.py", line 26, in <module>
import model.Model
ImportError: No module named Model
我的文件结构的简化表示如下:
common/
├── customlogger
│ ├── __init__.py
│ ├── __init__.pyc
│ ├── logger.py
│ └── logger.pyc
├── database
│ ├── DBSetup.py
│ ├── DBSetup.pyc
│ ├── db_update.py
│ ├── db_update.pyc
│ ├── __init__.py
│ └── __init__.pyc
├── __init__.py
├── __init__.pyc
└── model
├── __init__.py
├── __init__.pyc
├── Model.py
└── Model.pyc
db_update.py
文件的头部按此顺序包含以下导入(以及其他):
import customlogger.logger
import database.DBSetup
import model.Model
可能有用的一些信息:
model/
目录导入其他模块。这些也无法识别并导致相同的错误(改为使用相应模块的名称)。 common/
旁边的目录中执行此操作 - 将其称为my_app/src/
。__init__.py
个文件都是空的。在我看来,python识别model/
目录(否则,错误消息将显示为ImportError: No module named model.Model
),但似乎认为尽管存在{{},但它不包含任何模块{1}}文件。是这样的吗?如果是这样,为什么这只发生在__init__.py
目录而不是model/
和database/
目录中?最后,我该如何解决这个问题?
非常感谢提前。