首页 > 解决方案 > 为什么python在导入包的时候找不到子包?

问题描述

我有一个这样组织的项目:

proj
├── main.py
├── netbatch
│   ├── __pycache__
│   ├── monster.py
│   └── test_monster.py
└── workers
    ├── __pycache__
    ├── ldb
    │   ├── __pycache__
    │   └── handle.py
    └── strawberry.py

strawberry.py包含

import ldb.handle
...
if __name__ == '__main__':

main.py 包含

import workers.strawberry
import workers.ldb.handle

当我运行strawberry.py导入时按预期工作,但是当我运行时main.py,我看到了错误:

  File "/tmp/proj/workers/strawberry.py", line 3, in <module>
    import ldb.handle
ModuleNotFoundError: No module named 'ldb'

我正在使用版本 3.6.3

标签: pythonpython-importimporterrorpython-packaging

解决方案


推荐阅读