我正在尝试做一件基本的事情:使用虚拟环境调试 python 函数应用程序。
Visual Studio 代码文档没有说明如何做,我自己也无法弄清楚:https ://code.visualstudio.com/docs/python/debugging
我使用以下命令从终端运行应用程序:
.venv36\scripts\activate
func start
该应用程序是从我的虚拟环境中运行的,一切正常。
要调试,调试器使用 launch.json:
{
"version": "0.2.0",
"configurations": [
{
"name": "Attach to Python Functions",
"type": "python",
"request": "attach",
"port": 9091,
"windows": {
"pythonPath": ".venv36\\Scripts\\python.exe"
},
"preLaunchTask": "func: host start"
}
]
}
阅读https://code.visualstudio.com/docs/python/environments,我在 settings.json 中添加了以下设置:
{
...
"python.pythonPath": ".venv36\\Scripts\\python.exe",
"python.pipenvPath": ".venv36\\Scripts\\pip.exe",
"python.venvPath": ".venv36",
"python.terminal.activateEnvironment": true,
tasks.json 是:
{
"version": "2.0.0",
"tasks": [
{
"type": "func",
"command": "host start",
"problemMatcher": "$func-watch",
"isBackground": true,
"options": {
"cwd": "${workspaceFolder}/AlarmScoringFuncApp"
}
}
]
}
当我开始调试时,应用程序已启动但不在正确的环境中:它使用系统库而不是在 requirements.txt 中为我的项目安装的库。
我的应用程序在尝试使用系统环境中未安装的库时崩溃。