使用包的 Python 项目中的 ModuleNotFoundError

ModuleNotFoundError in a Python project using packages

我有一个 Python 项目 (python 3.6),它的包结构相当简单。我的目标是拥有一个包含模块的包,这些模块可以在其他包中重复使用。这是结构:

    my_project                   
    ├── /docs           
    ├── /src
    │   ├── __init__.py                
    │   ├── /common
    │   |    |── __init__.py      
    │   |    |── common_module.py
    │   ├── /packageA
    │   |    |── __init__.py      
    │   |    |── modA.py

问题是当我在 modA.py 中执行以下操作时:

    from src.common import common_module as cm

我收到以下错误:ModuleNotFoundError: No module named src.common

到目前为止我尝试过的是

None 这些都有效,我已经为这个问题苦苦挣扎了一段时间,所以任何建议都将不胜感激。

为了使此导入工作,PYTHONPATH 需要是 .../my_project,而不是 .../my_project/src

是的,你应该把 __init__.py 放在 project,
然后 export PYTHONPATH = <LOCAL_PATH_TO_...>/project