VS 代码:无法调试 Connexion/Flask 应用程序?
VS Code: Unable to debug Connexion/Flask app?
我正在使用 Visual Studio 代码在 Connexion-Flask 应用程序上开发 API 运行。当以 flask run
开始时,它工作正常。
但是当我尝试使用 VS Code 调试器调试此应用程序时,我收到以下错误消息:
Traceback (most recent call last):
File "d:\QT_Code\itk-demo-configdb\source\app.py", line 3, in <module>
from connexion import FlaskApp
ModuleNotFoundError: No module named 'connexion'
我用于调试的 launch.json 如下(我在 this 线程中找到了一个非常相似的问题(但我不能在那里发表评论):
{
"version": "0.2.0",
"configurations": [
{
"name": "Python: Connexion",
"type": "python",
"request": "launch",
"module": "connexion",
"env": {
"FLASK_APP": "app.py",
"FLASK_ENV": "development",
"FLASK_DEBUG": "1"
},
"args": [
"run",
"./db_api",
"--port",
"8080"
],
"jinja": true
}
]
}
我的app.py如下:
from flask_sqlalchemy import SQLAlchemy
from flask_migrate import Migrate
from connexion import FlaskApp
from .config import APIConfig
app = FlaskApp(__name__, specification_dir='db_api/', options={"swagger_ui": True})
flask_app = app.app
flask_app.config.from_object(APIConfig)
db = SQLAlchemy(flask_app)
migrate = Migrate(flask_app, db)
app.add_api('db_openapi.yml')
if __name__ == '__main__':
app.run(host="0.0.0.0", port=8080,debug=True)
我在通过 flask run
和调试器启动时使用相同的虚拟环境。所以我不明白为什么它说没有连接模块。在我实施 Connexion 之前,VS Code 调试器工作正常,但现在我似乎无法让它工作。
在此先感谢您的帮助!
以防万一其他人以后遇到同样的问题。
这似乎是某种 VS 代码错误。
我尝试通过命令行启动我的应用程序,它确实有效。之后,我在我的 VS Code venv 中重新安装了所有 python 包(通过我的 requirements.txt),但它没有帮助。
最终删除我在 VS 代码中使用的虚拟环境并创建一个新环境解决了我的问题。
我正在使用 Visual Studio 代码在 Connexion-Flask 应用程序上开发 API 运行。当以 flask run
开始时,它工作正常。
但是当我尝试使用 VS Code 调试器调试此应用程序时,我收到以下错误消息:
Traceback (most recent call last):
File "d:\QT_Code\itk-demo-configdb\source\app.py", line 3, in <module>
from connexion import FlaskApp
ModuleNotFoundError: No module named 'connexion'
我用于调试的 launch.json 如下(我在 this 线程中找到了一个非常相似的问题(但我不能在那里发表评论):
{
"version": "0.2.0",
"configurations": [
{
"name": "Python: Connexion",
"type": "python",
"request": "launch",
"module": "connexion",
"env": {
"FLASK_APP": "app.py",
"FLASK_ENV": "development",
"FLASK_DEBUG": "1"
},
"args": [
"run",
"./db_api",
"--port",
"8080"
],
"jinja": true
}
]
}
我的app.py如下:
from flask_sqlalchemy import SQLAlchemy
from flask_migrate import Migrate
from connexion import FlaskApp
from .config import APIConfig
app = FlaskApp(__name__, specification_dir='db_api/', options={"swagger_ui": True})
flask_app = app.app
flask_app.config.from_object(APIConfig)
db = SQLAlchemy(flask_app)
migrate = Migrate(flask_app, db)
app.add_api('db_openapi.yml')
if __name__ == '__main__':
app.run(host="0.0.0.0", port=8080,debug=True)
我在通过 flask run
和调试器启动时使用相同的虚拟环境。所以我不明白为什么它说没有连接模块。在我实施 Connexion 之前,VS Code 调试器工作正常,但现在我似乎无法让它工作。
在此先感谢您的帮助!
以防万一其他人以后遇到同样的问题。 这似乎是某种 VS 代码错误。
我尝试通过命令行启动我的应用程序,它确实有效。之后,我在我的 VS Code venv 中重新安装了所有 python 包(通过我的 requirements.txt),但它没有帮助。
最终删除我在 VS 代码中使用的虚拟环境并创建一个新环境解决了我的问题。