在本地安装Azure Function App的python包

vaj7vani  于 2023-08-08  发布在  Python
关注(0)|答案(1)|浏览(136)

我已经创建了一个新的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中也坏了。

46scxncf

46scxncf1#

异常:异常:没有名为“psycopg2”的模块。请检查requirements.txt文件中缺少的模块。有关详细信息,请参阅故障排除指南:https://aka.ms/functions-modulenotfound
我在python 3.10.4中也得到了同样的错误,如下所示:


的数据

requirements.txt:

azure-functions
psycopg2==2.9.6

字符串

  • 需要在vs代码终端中手动安装psycopg2==2.9.6,如下所示 *

命令:

pip install psycopg2



然后,你应该按fn+f5* 运行代码,会得到如下输出:


相关问题