"ModuleNotFoundError" with Azure function Apps using Python

Question:

I keep getting the error

ModuleNotFoundError: No module named ‘azure’

for line 4 where I import azure.functions as func
Below is the code for my init file that has been designed using this tutorial

import logging
import azure.functions as func

def main(req: func.HttpRequest) -> func.HttpResponse:
    logging.info('Python HTTP trigger function processed a request.')

    name = req.params.get('name')
    if not name:
        try:
            req_body = req.get_json()
        except ValueError:
            pass
        else:
            name = req_body.get('name')

    if name:
        return func.HttpResponse(f"Hellod {name}!")

    else:
        return func.HttpResponse(
             "Please pass a name on the query string or in the request body",
             status_code=400
        )

Any help with this would be much appriciated!

Asked By: grand2019

||

Answers:

Did you pip installed the library in your python environment?

pip install [client library]

The client libraries can be found here

Answered By: MDah

In ./myFunction/__init.py I have import helpers as h. I was getting this error. This was consistantly not working. After trying many things, the fix was doing 2 things:

  1. running npm install -g azure-functions-core-tools@3 to upgrade to the latest.
  2. clicking yes to a popup in VS Code that said something like "this Azure Function was not initialised in VS Code. Would you like it optimised?"

I’m not sure exactly which of these fixed it.

My folder structure is so (only including the relevant files):

.
├── requirements.txt
├── helpers.py
├── myFunction
│   ├── __init.py
│   └── function.json
Answered By: Worm