【发布时间】:2019-04-30 15:35:48
【问题描述】:
我有一个 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
到目前为止我尝试过的是
- 确保我有一个正确的包结构,如
https://docs.python.org/3/tutorial/modules.html - 在
export PYTHONPATH=<path_to_project>/src使用的虚拟环境中扩展PYTHONPATH - 在
/my_project中也放置一个__init__.py - 阅读 StackOverflow 上的其他问题,但没有一个提供解决方案。他们中的一些人正在使用
sys.path做一些骇人听闻的事情,据说即使可行,这也不是一个好的解决方案。
这些都不起作用,我已经为这个问题苦苦挣扎了一段时间,所以任何建议都将不胜感激。
【问题讨论】:
标签: python package importerror