在 Azure Functions 中安装 Python 模块

rob*_*liv 7 python python-module azure azure-functions azure-function-app

我正在学习如何使用 Azure 函数并在其中使用我的网页抓取脚本。

它使用 BeautifulSoup (bs4) 和 pymysql 模块。

当我按照 MS 指南在虚拟环境中本地尝试时,它工作正常:

https://learn.microsoft.com/en-us/azure/azure-functions/functions-create-first-azure-function-azure-cli?pivots=programming-language-python&tabs=cmd%2Cbrowser#run-the-局部功能

但是,当我创建函数 App 并向其发布脚本时,Azure Functions 日志给出以下错误:

Failure Exception: ModuleNotFoundError: No module named 'pymysql'

尝试导入它时一定会发生这种情况。

我真的不知道如何继续,我应该在哪里指定需要安装哪些模块?

Hur*_*hen 12

您需要检查您是否已生成requirements.txt包含模块所有信息的文件。当您将函数部署到azure时,它将通过以下方式安装模块requirements.txt

requirements.txt您可以在本地通过以下命令生成文件中模块的信息:

pip freeze > requirements.txt
Run Code Online (Sandbox Code Playgroud)

然后通过运行publish命令将该函数部署到azure:

func azure functionapp publish hurypyfunapp --build remote
Run Code Online (Sandbox Code Playgroud)

有关从本地部署 python 函数到 auzre 的更多信息,请参阅本教程

顺便说一句,如果您的 python 函数使用消费计划,则“Kudu”对我们不可用。如果您想使用“Kudu”,您需要为其创建应用服务计划,但不需要创建消费计划。

希望有帮助~