我有一个完全正常工作的Azure函数,然后我将pytz包添加到我的脚本中。
在Azure,我得到了一个错误:
ModuleNotFoundError:没有名为“pytz”的模块。
我的requirements.txt文件如下所示:
azure-functions
pyodbc==4.0.32
requests==2.28.0
pytz==2022.1我实际剧本的顶部是这样的:
import datetime
import logging
import requests
import json
import pyodbc
import azure.functions as func
from datetime import datetime
from pytz import timezone当我从Python部署函数时,除了pytz之外,我可以看到输出中安装的包。是不是因为在我的剧本里,它被写成“来自pytz”?我对Python非常陌生,对任何帮助都很感激。
发布于 2022-07-27 15:00:16
Microsoft给出了此类错误的解决方案和故障排除步骤,并详细解释如下:
当您使用Windows或macOS进行本地开发时,可能不会出现模块未找到的错误。但是,包无法在Azure函数上导入,Azure函数在运行时使用Linux。这很可能是由于使用pip冻结将虚拟环境导出到requirements.txt造成的。
为了减少这一错误,微软给出了两种解决方案,它们是替换等效的软件包或手工requirements.txt文件。
检查一下微软提供的这个文档。
发布于 2022-07-31 17:59:18
在从我的终端复制之后,在我的例子中,问题在于python环境。尽管出现了python环境,但请确保激活了该环境。

激活后即<Your_Environment_Name>\Scripts\Activate.ps1

https://stackoverflow.com/questions/73139810
复制相似问题