在Azure Functions中安装Python模块

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

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

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

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

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

但是当我创建功能应用程序并向其发布脚本时,Azure Functions日志给了我这个错误:

Failure Exception: ModuleNotFoundError: No module named 'pymysql'

尝试导入时必须发生。

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

python azure azure-functions python-module azure-function-app
2个回答
0
投票

部署到天蓝色时,您需要上载已安装的模块。您可以使用Kudu上传它们:

https://github.com/projectkudu/kudu/wiki/Kudu-console

或者,您也可以使用Kudu并使用控制台运行pip install:

enter image description here


0
投票

您需要检查是否已经生成了requirements.txt,其中包括模块的所有信息。将功能部署到Azure时,它将通过requirements.txt自动安装模块。

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

pip freeze > requirements.txt

然后通过运行publish命令将功能部署到Azure上:

func azure functionapp publish hurypyfunapp --build remote

有关从本地到auzre部署python函数的更多信息,请参考此tutorial

顺便说一句,如果您将消耗计划用于python函数,则“ Kudu”不适用于我们。如果要使用“ Kudu”,则需要为其创建应用服务计划,而不是消费计划。

希望有帮助〜

© www.soinside.com 2019 - 2024. All rights reserved.