4
0

More than 1 year has passed since last update.

Azure Functions の Python + VSCode 環境不具合への対応

Last updated at Posted at 2022-04-08

解消にすごく苦しめられたので個人のメモとして置いておきます。
他にもこうやれば解消したよ、という情報があれば是非共有したいです。

デバッグ実行時に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 ポートでのデバッグ用の待ち受けをサボる、というのが正確な動きになります。

image.png

実行時に タスク 'func: host start' を見つけられない

仮想環境を再作成すれば大抵直るようです。プロジェクト直下の.venv フォルダを削除します。次にAzureのプラグインを開きます。image.png

ダイアログが上がってくるので、 Create virtual environment を選択します。
image.png

もしくは、.venv フォルダを削除した後にプロジェクトフォルダで Terminal などを開き、次のコマンドで仮想環境を作ります。

powershell
py -m venv .venv
bash
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

4
0
4

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
0