VS Code + Flask:ValueError:源代码字符串不能包含空字节

时间:2017-12-22 08:31:25

标签: python flask visual-studio-code

我刚刚开始在Python插件中使用VS Code。我已经设置了一个venv,在该venv中启动了代码,安装了所有必需的模块并更新了我的launch.json以启动烧瓶应用程序,如下所示:

        {
        "name": "Python: Flask (0.11.x or later)",
        "type": "python",
        "request": "launch",
        "stopOnEntry": false,
        "pythonPath": "${config:python.pythonPath}",
        "program": "${workspaceFolder}/env/Scripts/flask.exe",
        "cwd": "${workspaceFolder}",
        "env": {
            "FLASK_APP": "${workspaceFolder}/main.py"
        },
        "args": [
            "run",
            "--no-debugger",
            "--no-reload"
        ],
        "envFile": "${workspaceFolder}/.env",
        "debugOptions": [
            "RedirectOutput"
        ]
    },

但是当我在VS Code中为Flask启动调试器时,我的调试控制台中会出现以下内容:

  

ValueError:源代码字符串不能包含空字节

但是,如果我只是从命令行启动应用程序:

set FLASK_APP=main.py
python -m flask

它运作得很好。我确定这是我做过的蠢事,但我无法弄清楚那是什么。

另请注意,pythonPath指向我的venv python安装。

1 个答案:

答案 0 :(得分:1)

我也看到了ValueError,并且找不到合适的解决方案,但使用"module": "flask"进行了解决方法:

{
    "name": "Python: Flask (0.11.x or later)",
    "type": "python",
    "request": "launch",
    "stopOnEntry": false,
    "pythonPath": "${config:python.pythonPath}",
    //"program": "${workspaceFolder}/env/Scripts/flask.exe",
    "module": "flask",
    "cwd": "${workspaceFolder}",
    "env": {
        "FLASK_APP": "${workspaceFolder}/main.py"
    },
    "args": [
        "run",
        "--no-debugger",
        "--no-reload"
    ],
    "envFile": "${workspaceFolder}/.env",
    "debugOptions": [
        "RedirectOutput"
    ]
}

但是,每次开始调试时都需要一些时间来启动Flask应用程序,不确定这是否是由于Flask是通过Python启动的。从命令行调用flask.exepython.exe -m flask似乎速度相当快 - 比在VS Code中开始调试要快得多。