2024-04-19 08:29:16 发布
网友
我在Python(使用dlib和OpenCV)中创建了一个图像处理脚本,我想知道如何将此功能引入Azure函数,以便可以通过API调用脚本。由于Python仍在Azure Functions的预览中,我想知道这里是否有人有将模块带到Azure Functions的经验,以及是否可以在那里安装OpenCV?在
Python
dlib
OpenCV
Azure Functions
所以我想到了一个肮脏的黑客,它会在第一次运行时安装这个包并抛出一个错误,所以函数会重新启动。请执行以下步骤:
做一些类似的事情(可能有更好的方法,但我对python还不熟悉):
try: import pyodbc except: package = 'pyodbc-3.0.10-cp27-none-win32.whl' pip.main(['install', ' user', package]) raise ImportError('Restarting')
所以用户背后的原因是它不允许我以管理员权限安装它。。。如果您确实包括要求.txt在git存储库中,包被安装到WebApp中,但函数似乎有自己的python环境,因此您必须手动安装包。在
所以找到合适的wheel包是唯一的诀窍(我坚信函数使用的是python2.7,我不能让它与python3.4的包一起工作)
您可以将您自己的模块上传到与您的函数位于同一文件夹中的lib文件夹中。在
lib
然而,在OpenCV的上下文中,它目前不是一个受支持的场景。Azure函数环境中使用的默认Python版本是python2.7。如果您尝试使用OpenCV for Python2.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
修复方法是更新numpy使用的numpy版本,但您将无法自己运行更新。在
numpy
正如您所注意到的,Python语言对Azure函数的支持目前正处于试验阶段。这些问题将在Python作为一级语言完全采用时得到解决。在
所以我想到了一个肮脏的黑客,它会在第一次运行时安装这个包并抛出一个错误,所以函数会重新启动。请执行以下步骤:
做一些类似的事情(可能有更好的方法,但我对python还不熟悉):
所以用户背后的原因是它不允许我以管理员权限安装它。。。如果您确实包括要求.txt在git存储库中,包被安装到WebApp中,但函数似乎有自己的python环境,因此您必须手动安装包。在
所以找到合适的wheel包是唯一的诀窍(我坚信函数使用的是python2.7,我不能让它与python3.4的包一起工作)
您可以将您自己的模块上传到与您的函数位于同一文件夹中的
lib
文件夹中。在然而,在OpenCV的上下文中,它目前不是一个受支持的场景。Azure函数环境中使用的默认Python版本是python2.7。如果您尝试使用OpenCV for Python2.7执行函数代码,您将得到的错误消息如下所示:
修复方法是更新
numpy
使用的numpy
版本,但您将无法自己运行更新。在正如您所注意到的,Python语言对Azure函数的支持目前正处于试验阶段。这些问题将在Python作为一级语言完全采用时得到解决。在
相关问题 更多 >
编程相关推荐