解消にすごく苦しめられたので個人のメモとして置いておきます。
他にもこうやれば解消したよ、という情報があれば是非共有したいです。
デバッグ実行時にECONNREFUESED:127.0.0.1:9091
Python実行環境へアタッチできない、というエラーなのはぱっと見で想像できますが、その原因が多種多様すぎて解決が大変なエラーです。(以前に比べてこのエラーが出ることは減ったようです)
1. Python のバージョンを対象のものにする
2022/4現在では、ver.3.7, 3.8, 3.9 なら動きます。3.10は対象外です。気を付けましょう。64bit マシンでの開発の場合は(大抵はもう64bitだと思いますが)、64bit 版を選ばないとデバッグ実行ができないそうです。(32bit 版を使ったことがないので本当にデバッグ実行できないのかは不明です)
2. Azure Function Core Tools を ver.3.x にする
ver.3.x と ver.4.x の2種類がありますが、ver.4.x でうまくいかないときは ver.3.x にしましょう。いずれは ver.4.x できれいに動く日が来ると思います。公式ページのよるとデバッグ実行をするなら ver.3.x を使用せよ、という記載がありますが、ver.4 でも大抵は動きます。
Azure Function Core Tools の version switch は、 https://github.com/anthonychu/funcvm を使うのがすごく便利です。(Node.js必須)
(追記)@horihiro さんよりコメント(ありがとうございます!)
azure functions core tools のバージョンは更新漏れのようなので v4 でも問題なさそうです。
3. Azure Logic Apps (Standard) をアンインストール
これは完全に不具合です。このプラグインがあると、Port:9091を奪われてしまってデバッグ実行時にエラーがでます。早く直してほしいわ・・・
(追記)@horihiro さんよりコメント(ありがとうございます!)
Logic App (Standard) に "type": "func" のタスクの制御を奪われて、9091 ポートでのデバッグ用の待ち受けをサボる、というのが正確な動きになります。
実行時に タスク 'func: host start' を見つけられない
仮想環境を再作成すれば大抵直るようです。プロジェクト直下の.venv フォルダを削除します。次にAzureのプラグインを開きます。
ダイアログが上がってくるので、 Create virtual environment を選択します。
もしくは、.venv フォルダを削除した後にプロジェクトフォルダで Terminal などを開き、次のコマンドで仮想環境を作ります。
py -m venv .venv
python -m venv .venv
コマンドについての公式はこちらです。
https://docs.microsoft.com/en-us/azure/azure-functions/create-first-function-cli-python?tabs=azure-cli%2Cpowershell%2Cbrowser#create-venv