远程构建发布Python Azure函数时requirements.txt需哪些依赖包?
Azure Functions Python 依赖配置问题解答
1. 仅本地导入但空requirements.txt是否足够?
完全不够。虽然部分Azure官方包无需放入requirements.txt,但你代码中用到的绝大多数第三方包(比如pandas、numpy、xarray、netCDF4等)并非Azure Functions运行时默认提供的。远程构建发布时,Azure会基于requirements.txt安装依赖,空文件会导致这些包缺失,函数运行时直接报错。
2. 远程发布时如何确定requirements.txt需包含的包?
步骤1:排除Azure运行时内置依赖
官方明确标注的Azure Functions Python运行时自带依赖无需添加,比如:
azure-functionsazure-core、azure-commonapplicationinsights(部分运行环境默认集成)
步骤2:收集项目实际依赖
梳理代码中直接导入的非内置包,结合你本地的pip list,需要添加的核心包包括:
azure-storage-blob、azure-storage-queue(运行时不自带存储客户端)pandas、numpy、xarray、netCDF4pyarrow、requestspython-dateutil、pytz(若代码直接用到需添加,作为间接依赖可省略,但建议直接导入的都明确列出)
步骤3:生成并验证requirements.txt
- 本地创建干净虚拟环境,安装项目所需依赖后执行:
pip freeze > requirements.txt - 手动剔除步骤1中的内置依赖,最终示例如下:
azure-storage-blob==12.16.0 azure-storage-queue==12.6.0 pandas==2.0.0 numpy==1.24.3 xarray==2023.4.2 netCDF4==1.6.3 pyarrow==11.0.0 requests==2.28.2 python-dateutil==2.8.2 pytz==2023.3 - 验证:在虚拟环境中仅安装该文件内的包,运行函数确认无依赖缺失报错。
内容的提问来源于stack exchange,提问作者otk
相关产品推荐
相关产品推荐

