在VS Code(Flask - 证书路径)中使用路径作为参数值设置自定义启动器

问题描述 投票:1回答:1

Visual Studio Code python setup tutorial中有一个例子,它显示了如何设置Flask。当我尝试提供自签名证书路径时,我的问题就出现了。我试图添加以下配置:

    {
        "name": "Python: Flask",
        "type": "python",
        "request": "launch",
        "module": "flask",
        "env": {
            "FLASK_APP": "app.py"
        },
        "args": [
            "run",
            "--debugger",
            "--no-reload",
            "--host",
            "0.0.0.0",
            "--port",
            "4443",
            "--key",
            "${workspaceFolder}\\viberbot\\key.pem",
            "--cert",
            "${workspaceFolder}\\viberbot\\certificate.pem"
        ],
        "jinja": true
    },

我试图提供密钥/证书:

  • C:\\ \\ FULL_PATH到\\ FILE
  • C:/ FULL_PATH /到/文件
  • 'C:\\ \\ FULL_PATH到\\ FILE'
  • \ “C:\\ \\ FULL_PATH到\\ FILE \”

我总是收到以下错误消息之一:Error: Invalid value for "--key": "--cert" must also be specified.Error: Invalid value for "--key": File ""E:\Docs\learn_py\viberbot\key.pem"" does not exist.

这是VS Code扩展生成的确切命令:

cd e:\ Docs \ learn_py && cmd / C“set”FLASK_APP = app.py“&& set”PYTHONIOENCODING = UTF-8“&& set”PYTHONUNBUFFERED = 1“&& C:\ Users \ user \ AppData \ Local \ Programs \ Python \ Python37 \ python.exe c:\ Users \ user.vscode \ extensions \ ms-python.python-2019.2.5558 \ pythonFiles \ ptvsd_launcher.py --default --client --host localhost --port 50573 -m flask运行--debugger --no-reload --host 0.0.0.0 --port 4443 --key E:\ Docs \ learn_py \ viberbot \ key.pem --cert E:\ Docs \ learn_py \ viberbot \ certificate.pem“用法:python -m flask运行[OPTIONS]尝试“python -m flask run --help”获取帮助。

错误:“ - key”的值无效:还必须指定“--cert”。

更新:在做出Brett建议的更改后,我开始收到另一个错误:

 * Serving Flask app "app.py"
 * Environment: development
 * Debug mode: off
Usage: python -m flask run [OPTIONS]

Error: Could not import "app".

我试图将app.py改为${workspaceFolder}\\viberbot\\app.py或提供像/E/path/viberbot/app.py这样的路径,但它没有用。

更新2:我需要做"FLASK_APP": "viberbot\\app.py"

python flask visual-studio-code vscode-debugger
1个回答
1
投票

这可能是因为与VS Code提供的默认值相比,本教程中的示例已过时。尝试:

{
            "name": "Flask",
            "type": "python",
            "request": "launch",
            "module": "flask",
            "env": {
                "FLASK_APP": "app.py",
                "FLASK_ENV": "development",
                "FLASK_DEBUG": "0"
            },
            "args": [
                "run",
                "--no-debugger",
                "--no-reload",
                "--cert",
                "${workspaceFolder}\\viberbot\\certificate.pem",
                "--key",
                "${workspaceFolder}\\viberbot\\key.pem"
            ],
            "jinja": true
        }
© www.soinside.com 2019 - 2024. All rights reserved.