考虑一下我有以下项目结构:
+PROJECT
| +models
| | =__init__.py
| | =client.py
| | =config.py
|
| +tests
| | =__init__.py
| | =example.py
| | =example_two.py
|
| README.md
| requirements.txt
当我尝试将客户端的类和配置中的变量导入example.py时,就像这样:
from models.config import var
from models.client import Class
两个导入语句都收到 ModuleNotFound错误。我知道这个问题已经被问过很多次了,但是那些解决方案并不能解决我的问题。我尝试将客户端和配置与测试文件夹放置在同一级别。但是,我收到了同样的问题。如果有人可以帮助我解决此问题,那就太好了。
答案 0 :(得分:0)
您将需要进行相对导入(PEP-328),但是根据此guide,您只能向上执行直到从中启动脚本的级别,即{{1 }}目录。
因此,您必须将tests
目录添加到路径中,或者将项目的源文件夹添加到站点包中的.pth文件中,如图here
答案 1 :(得分:0)
我想到了三种可能性:
据我所知,只有第一个选项可能会引起您的问题。
尽管如此,我还是会快速检查一下
import sys
sys.path
以防确实丢失了正确的路径。
sys.path.append('PathToModule')