为 Azure Function App 在本地安装 python 包

问题描述 投票:0回答:0

我创建了一个新的 Azure Function (Python 3.10.4),它使用 CLI 中的 Azure Func 工具的指令执行 HTTP 触发器。一切都很好,直到我尝试将包添加到我的requirements.txt/init.py 脚本中。我想做的就是运行一个简单的脚本来从数据库中获取数据,但是在输入

func start
时遇到以下错误,并且它执行我的 init.py 脚本。以下是错误:

 Exception: ModuleNotFoundError: No module named 'psycopg2'. Please check the requirements.txt file for the missing module. For more info, please refer the troubleshooting guide: https://aka.ms/functions-modulenotfound

这是我的requirements.txt的内容:

azure-functions
psycopg2==2.9.1

我的

__init__.py
仍然是生成的默认文件,我只是想在顶部导入我的包:

import logging

import azure.functions as func
import psycopg2


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"Hello, {name}. This HTTP triggered function executed successfully.")
    else:
        return func.HttpResponse(
             "This HTTP triggered function executed successfully. Pass a name in the query string or in the request body for a personalized response.",
             status_code=200
        )

这是我的文件层次结构供参考:

.
├── TestTrigger
│   ├── __init__.py
│   ├── __pycache__
│   │   └── __init__.cpython-311.pyc
│   └── function.json
├── getting_started.md
├── host.json
├── local.settings.json
└── requirements.txt

我做错了什么吗?当我将其推送到 Azure 时,它说正在安装

psycopg
但它在 Azure 中也损坏了。

python python-3.x azure-functions psycopg2 azure-http-trigger
© www.soinside.com 2019 - 2024. All rights reserved.