我已经用 Python
创建了一个图像处理脚本(使用 dlib
和 OpenCV
) - 我想知道如何将此功能引入Azure Functions,以便可以通过 API 调用脚本。由于 Python
仍处于 Azure Functions
预览阶段,我想知道这里是否有人有将模块引入 Azure Functions
的经验,以及是否有可能在那里安装OpenCV
?
最佳答案
您可以将自己的模块上传到与您的函数位于同一文件夹中的 lib
文件夹中,从而将它们引入您的函数中。
但是,在 OpenCV 的上下文中,目前尚不支持该场景。 Azure Function 环境中使用的默认 Python 版本是 Python 2.7。如果您尝试使用 OpenCV for Python 2.7 执行函数代码,您将收到类似于以下内容的错误消息,
2016-11-07T20:47:33.151 Function completed (Failure, Id=42fa9d38-05f1-46d4-a8ce-9fbaa24a870d)
2016-11-07T20:47:33.166 Exception while executing function: Functions.ImageProcessor. Microsoft.Azure.WebJobs.Script: ImportError: numpy.core.multiarray failed to import
Traceback (most recent call last):
File "D:\home\site\wwwroot\ImageProcessor\run.py", line 17, in <module>
import cv2
ImportError: numpy.core.multiarray failed to import
解决此问题的方法是更新 Python 2.7
使用的 numpy
版本,但您将无法自行运行更新。
正如您所指出的,Azure Functions 的 Python 语言支持目前处于实验阶段。当 Python 完全成为一流语言时,这些问题将得到解决。
关于python - 在 Azure Functions 中运行 Python + OpenCV + dlib,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40331588/