Python 将路径作为VS代码中的参数值设置为自定义启动器(Flask-证书路径)
其中有一个示例显示了如何设置Python 将路径作为VS代码中的参数值设置为自定义启动器(Flask-证书路径),python,flask,visual-studio-code,vscode-debugger,Python,Flask,Visual Studio Code,Vscode Debugger,其中有一个示例显示了如何设置烧瓶。当我尝试提供自签名证书路径时,问题就开始了。我已尝试添加以下配置: { "name": "Python: Flask", "type": "python", "request": "launch", "module": "flask", "env": { "FLASK_APP": "app.py" }, "args":
烧瓶
。当我尝试提供自签名证书路径时,问题就开始了。我已尝试添加以下配置:
{
"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\u路径\\到\\文件
- C:/FULL_路径/到/文件
- 'C:\\FULL\u路径\\到\\文件'
- \“C:\\FULL\u路径\\TO\\FILE\”
错误:“--key”的值无效:“--cert”也必须指定。
或错误:“--key”:文件“E:\Docs\learn\u py\viberbot\key.pem”的值无效。
这正是由VS code
扩展生成的命令:
cd e:\Docs\learn\u py&&cmd/C“set”FLASK\u APP=APP.py”&&set
“PythonionEncoding=UTF-8”&设置“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
--默认值--客户端--主机本地主机--端口50573-m flask运行--调试器--无重新加载--主机0.0.0--端口4443--密钥E:\Docs\learn\u py\viberbot\key.pem--证书
E:\Docs\learn\u py\viberbot\certificate.pem“用法:python-m运行
[选项]请尝试“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”
这可能是因为与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
}
错误:“--cert”:文件“E:\Docs\learn\u py\viberbot\certificate.pem”的值无效。不幸的是,这是来自Flask,因此我无法再提供帮助。Flask显然不认为该文件存在,所以可能是权限问题?