我正在使用Flask应用并尝试运行我的测试文件,但无法执行此操作。我目前的应用结构是:
Project
── app
│ ├── __init__.py
│ ├── forms.py
│ ├── model.py
│ ├── models.py
│ ├── static
│ │ ├── css
│ │ ├── fonts
│ │ ├── img
│ │ ├── js
│ │ └── uploads
│ ├── templates
│ │ ├── client
│ │ │ ├── client-base.html
│ │ │ ├── client-inventory.html
│ │ │ ├── client-login.html
│ │ │ ├── client-macros.html
│ │ │ ├── client-main.html
│ │ │ └── client-signup.html
│ │ └── user
│ │ ├── user-base.html
│ │ ├── user-macros.html
│ │ └── user-main.html
│ └── views
│ ├── __init__.py
│ ├── client.py
│ └── user.py
├── config.py
├── run.py
└── tests
└── test_user_model.py
当我尝试在from app.models import User
中运行test_user_model.py
时,它会引发ModuleNotFoundError: No module named 'app'
。我尝试过无数种不同的方式编辑import语句,但在每种情况下都会引发错误(from ..app import models
超出范围,import app
并且类似的导入也不起作用。)
答案 0 :(得分:3)
您应在__init__.py
目录中添加tests
。空__init__.py
会将该目录转换为包。然后,您可以在test_user_model.py
:
from app.models import User
请参阅PEP 328中的详细信息。
答案 1 :(得分:0)
您需要在app
PYTHONPATH