如何在 VS/VS Code/PyCharm 里调试 Flask 项目(图片社交网站代码启动调试报错:No module named 'albumy')

我用的是vs2017,代码下载到本地以后没有做任何改动,调试出现这个提示
No module named ‘albumy’
堆栈跟踪:

File “C:\Users\Administrator\source\repos\albumy\albumy_init_.py”, line 16, in
from albumy.blueprints.admin import admin_bp
已加载“main

如果调试是指 IDE 里的 debug 功能,那么你需要编辑调试配置来设置 Flask 程序启动命令或程序路径,而不仅仅是默认用 Python 执行脚本。另外建议贴出完整的错误堆栈,包括执行的命令和对应的目录。

我是把\albumy\albumy_init_.py 这个文件设置为启动项运行的,发帖里面的堆栈跟踪就是完整的调试记录

包内的代码一般不能作为入口脚本运行,会有path问题

入口脚本应该与顶层包平行,这样直接运行才可以,否则需要用python -m albumy 运行,VS我不了解如何配置,反正原理是这样

1 Like

这个程序没法通过直接执行 albumy/__init__.py 脚本来启动,而是需要在项目根目录执行 flask run 命令,并将环境变量 FLASK_APP 设为对应的程序实例路径(albumy),你需要找到对应的配置进行设置。

或者,你可以在项目根目录创建一个 app.py 作为入口/启动脚本:

from albumy import create_app

app = create_app('development')

if __name__ == '__main__':
    app.run()

然后用调试器来执行这个 app.py 脚本(放到和 albumy 包平级)。

我感觉应该就是你说的这个问题吧,方向是对的,我再研究下,对flask我实在是白的很

如果是 VS Code 的话,调试器默认支持 Flask,可以在这个选项里填入程序路径,对应这个项目就是填入包名称 albumy

感谢,已经解决了,就是按你刚才回复的方案解决的

1 Like