admin管理员组文章数量:1391975
How do I get debugger to run on my function in VSCode with this as my launch.json and task.json (respectively) when I use type shell on a task?
launch.json
task.json
When I run debugger on this, I get the "connect ECONNREFUSED 127.0.0.1:9091" error.
When I run debugger with type "func" it works as normal and it stops at breakpoints and terminates without errors.
task.json
The only difference between functional and "connection refused" is having the type as "func" or type as "shell" in my tasks.json.
Is it possible that a type "shell" task has a different default port?
Any suggestions to fix this is appreciated, thank you!
Goal of what I'm trying to do...:
I've created an Azure function in Python on VSCode. It works and the debugger worked as well after I added a .vscode folder. I need a virtual environment so I can ensure consistency between me and other people or setups which could be working on this. To do this, I use pipenv. "pipenv shell" and "pipenv run func host start" both work fine when I use powershell/cmd terminal in VSCode. The problem is when I try to use the VSCode debugger on this.
I was trying to use a type "shell" task with the command being "pipenv run func host start" when I stumbled on this error with the debugger. This command works when I enter it into the vscode terminal(powershell). When I put this into task.json however, it gave me a connection refused error on the port. As stated above, this works fine when I use type "func" instead of "shell", however a type "func" does not allow me to run pipenv.
After some tests and reading stack overflow solutions, I narrowed this connection refusal to just the change between type "func" or "shell".
How do I get debugger to run on my function in VSCode with this as my launch.json and task.json (respectively) when I use type shell on a task?
launch.json
task.json
When I run debugger on this, I get the "connect ECONNREFUSED 127.0.0.1:9091" error.
When I run debugger with type "func" it works as normal and it stops at breakpoints and terminates without errors.
task.json
The only difference between functional and "connection refused" is having the type as "func" or type as "shell" in my tasks.json.
Is it possible that a type "shell" task has a different default port?
Any suggestions to fix this is appreciated, thank you!
Goal of what I'm trying to do...:
I've created an Azure function in Python on VSCode. It works and the debugger worked as well after I added a .vscode folder. I need a virtual environment so I can ensure consistency between me and other people or setups which could be working on this. To do this, I use pipenv. "pipenv shell" and "pipenv run func host start" both work fine when I use powershell/cmd terminal in VSCode. The problem is when I try to use the VSCode debugger on this.
I was trying to use a type "shell" task with the command being "pipenv run func host start" when I stumbled on this error with the debugger. This command works when I enter it into the vscode terminal(powershell). When I put this into task.json however, it gave me a connection refused error on the port. As stated above, this works fine when I use type "func" instead of "shell", however a type "func" does not allow me to run pipenv.
After some tests and reading stack overflow solutions, I narrowed this connection refusal to just the change between type "func" or "shell".
Share Improve this question edited Mar 13 at 13:41 kimbers asked Mar 13 at 6:03 kimberskimbers 11 silver badge2 bronze badges1 Answer
Reset to default 1Use below task.json
to debug Python Azure functions:
{
"version": "2.0.0",
"tasks": [
{
"type": "func",
"label": "func: host start",
"command": "host start",
"problemMatcher": "$func-python-watch",
"isBackground": true,
"dependsOn": "pip install (functions)"
},
{
"label": "pip install (functions)",
"type": "shell",
"osx": {
"command": "${config:azureFunctions.pythonVenv}/bin/python -m pip install -r requirements.txt"
},
"windows": {
"command": "${config:azureFunctions.pythonVenv}\\Scripts\\python -m pip install -r requirements.txt"
},
"linux": {
"command": "${config:azureFunctions.pythonVenv}/bin/python -m pip install -r requirements.txt"
},
"problemMatcher": []
}
]
}
launch.json:
{
"version": "0.2.0",
"configurations": [
{
"name": "Attach to Python Functions",
"type": "debugpy",
"request": "attach",
"connect": {
"host": "localhost",
"port": 9091
},
"preLaunchTask": "func: host start"
}
]
}
Click on Run and Debug
in Visual Studio Code=> Attach to Python Azure functions
to start debugging the Azure function:
Debug response:
* Executing task: .venv\Scripts\python -m pip install -r requirements.txt
Requirement already satisfied: azure-functions in c:\users\uname\pyfn13\.venv\lib\site-packages (from -r requirements.txt (line 5)) (1.21.3)
[notice] A new release of pip is available: 24.0 -> 25.0.1
[notice] To update, run: python.exe -m pip install --upgrade pip
* Terminal will be reused by tasks, press any key to close it.
* Executing task: .venv\Scripts\activate && func host start
Found Python version 3.11.9 (py).
Azure Functions Core Tools
Core Tools Version: 4.0.6821 Commit hash: N/A +c09a2033faa7ecf51b3773308283af0ca9a99f83 (64-bit)
Function Runtime Version: 4.1036.1.23224
[2025-03-13T12:28:13.772Z] 0.02s - Debugger warning: It seems that frozen modules are being used, which may
[2025-03-13T12:28:13.778Z] 0.00s - make the debugger miss breakpoints. Please pass -Xfrozen_modules=off
[2025-03-13T12:28:13.780Z] 0.00s - to python to disable frozen modules.
[2025-03-13T12:28:13.781Z] 0.00s - Note: Debugging will proceed. Set PYDEVD_DISABLE_FILE_VALIDATION=1 to disable this validation.
[2025-03-13T12:28:13.879Z] Worker process started and initialized.
Functions:
HttpTrigger1: [GET,POST] http://localhost:7071/api/HttpTrigger1
For detailed output, run func with --verbose flag.
[2025-03-13T12:28:17.524Z] Executing 'Functions.HttpTrigger1' (Reason='This function was programmatically called via the host APIs.', Id=5769278d-cd54-4cf2-952d-03284d8bf247)
[2025-03-13T12:28:17.631Z] Python HTTP trigger function processed a request.
[2025-03-13T12:28:17.695Z] Executed 'Functions.HttpTrigger1' (Succeeded, Id=5769278d-cd54-4cf2-952d-03284d8bf247, Duration=205ms)
[2025-03-13T12:28:18.808Z] Host lock lease acquired by instance ID '000000000000000000000000F72731CC'.
本文标签:
版权声明:本文标题:connect ECONNREFUSED error: How do I use debugger on a python function in VSCode when the task type is shell? - Stack Overflow 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.betaflare.com/web/1744718554a2621554.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论