今天运行 flask run
的时候报错如下:
(env) Duang@Mac-mini mysite $ flask run
* Serving Flask app 'app.py' (lazy loading)
* Environment: development
* Debug mode: on
Usage: flask run [OPTIONS]
Try 'flask run --help' for help.
Error: While importing 'mysite.app', an ImportError was raised.
我的项目简化版的文件结构如下:
mysite/
static/
style.css
templates/
index.html
__init__.py
app.py
utils.py
经过排查发现是因为app.py
中引入了utils.py
的一个模块导致
from utils import send_mail
改为如下以后问题解决了
from .utils import send_mail
直接运行 python app.py
是不存在这个问题的,大家遇到过这样的问题吗?
1
SjwNo1 2022-02-23 23:02:22 +08:00 1
把 __init__.py 删了
|
2
ClericPy 2022-02-24 00:07:34 +08:00 2
稍微理解一下包的结构吧...
flask run 是当包启动的, app 里导入 util 时通过相对路径(因为是同一个包) python app.py 是把 app 当 module 启动的, 当前路径会算在 sys.path 里面所以会导入成功 |