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