如何解决VSCode调试FastAPI Azure Function App的连接拒绝问题
解决FastAPI + Azure Functions调试器无法连接(ECONNREFUSED 127.0.0.1:9091)的问题
针对你遇到的调试器无法连接9091端口的问题,核心原因是Azure Functions Python Worker的调试模式未正确开启,或者端口配置不匹配。以下是具体的修复步骤:
1. 开启Python Worker调试模式并指定端口
修改tasks.json,添加调试相关的环境变量,确保函数主机启动时让Python Worker监听指定的调试端口:
{ "version": "2.0.0", "tasks": [ { "type": "func", "command": "host start", "problemMatcher": "$func-python-watch", "isBackground": true, "dependsOn": "pip install (functions)", "env": { "PYTHON_ENABLE_WORKER_DEBUGGING": "1", "PYTHON_WORKER_DEBUG_PORT": "9091" } } ] }
2. 修正调试器附着配置
调整launch.json,明确指定连接主机,并开启输出重定向,确保调试器能正确识别Worker的调试端口:
{ "version": "0.2.0", "configurations": [ { "name": "Attach to Python Functions", "type": "python", "request": "attach", "port": 9091, "host": "127.0.0.1", "preLaunchTask": "func: host start", "redirectOutput": true, "justMyCode": false } ] }
3. 确保Python环境一致性
你之前遇到的"无法找到Python"问题,大概率是Functions Core Tools使用的Python解释器和VSCode选中的不一致:
- 在VSCode左下角确认选中的是你安装的Python 3.9.13环境
- 打开终端运行
where python(Windows),复制输出的Python路径,在VSCode的Python解释器选择中手动指定该路径 - 运行
func start前,先激活对应的Python虚拟环境(如果使用了虚拟环境)
4. 重新启动调试流程
- 停止所有正在运行的函数主机进程
- 点击VSCode的调试按钮启动"Attach to Python Functions"任务
- 观察终端输出,若出现类似
Waiting for debugger to attach on port 9091的日志,说明调试端口已正常监听,此时调试器会自动连接成功
内容的提问来源于stack exchange,提问作者patyx
相关产品推荐
相关产品推荐

