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 代码中使用的虚拟环境并创建一个新环境解决了我的问题。