为啥 Azure Function V2 中很少有 Python 包不支持?

Posted

技术标签:

【中文标题】为啥 Azure Function V2 中很少有 Python 包不支持?【英文标题】:Why few packages of python doesn't support in Azure Function V2?为什么 Azure Function V2 中很少有 Python 包不支持? 【发布时间】:2019-08-07 14:03:01 【问题描述】:

我正在尝试将我的应用程序从 Visual Studio 代码发布到 azure 函数, 以下是我的依赖项,

    pyodbc==4.0.26
pandas==0.25.0
numpy==1.16.4
azure-eventhub==1.3.1

当我发布我的应用程序时,我收到以下错误, 错误:无法安装 cryptography-2.7 依赖项:不支持没有***的二进制依赖项。使用 --build-native-deps 选项使用 Docker 容器自动构建和配置依赖项。更多信息https://aka.ms/func-python-publish

【问题讨论】:

【参考方案1】:

这是 azure 函数使用 pip 下载***的方式的限制。 cryptography 上传了一个abi3 manylinux ***,但是这个命令无法成功下载。有关更多信息(和解决方法),请参阅:https://github.com/Azure/azure-functions-core-tools/issues/1150

【讨论】:

【参考方案2】:

错误消息中的链接确实回答了您的确切问题:

如果您使用的包需要编译器并且不支持从 PyPI 安装许多与 linux 兼容的***,则发布到 Azure 将失败

如果你问“为什么要这样设计?” - 这是一个不同的问题,超出了 *** 的范围。你可能想试试Functions Github

【讨论】:

有趣的是,密码学确实发布了许多 Linux ***(如下所示:pypi.org/project/cryptography/#files)。是否有一些特定的限制(例如必须支持 32 位 manylinux1 或“不能将 abi3 用于 py3 ***”)或者提问者遇到错误?

以上是关于为啥 Azure Function V2 中很少有 Python 包不支持?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Azure Function v2(核心)中静态使用 ConfigurationBuilder?

Azure Blob Storage V2,来自 Azure Function App 的异常 API 调用,升级后

Visual Studio 2019 不会调试 Azure Function V2

Azure Function v2 引用了 Newtonsoft.Json 版本高于 Microsoft.NET.Sdk.Functions 的项目

使用 Azure Function V2 Durable 函数时,ILogger 不记录到 Application Insights

为啥 Task.Delay 不能在 Azure Function App 中工作?