在VS代码(Flask证书路径)中将路径作为参数值设置自定义启动器

2024-09-29 06:25:13 发布

您现在位置:Python中文网/ 问答频道 /正文

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: \\完整路径\\到\\文件
  • C: /FULL_路径/TO/FILE
  • 'C:\\完整路径\\到\\文件'
  • \“C:\\完整路径\\到\\文件\”

我总是收到这样的错误信息: 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 run --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 " Usage: python -m flask run [OPTIONS] Try "python -m flask run --help" for help.

Error: Invalid value for "--key": "--cert" must also be specified.

更新:在进行了Brett建议的更改之后,我开始遇到另一个错误:

^{pr2}$

我试图将app.py改为${workspaceFolder}\\viberbot\\app.py,或者提供一个类似/E/path/viberbot/app.py的路径,但是没有成功。在

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


Tags: keyrunpy路径apphostflaskdocs
1条回答
网友
1楼 · 发布于 2024-09-29 06:25:13

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

{
            "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
        }

相关问题 更多 >