Запустить Python + OpenCV + dlib в Azure Функции

Я создал скрипт обработки изображений в Pythondlib и OpenCV ) – мне было интересно, как я могу довести эту функциональность до функций Azure, чтобы сценарий можно было вызывать через API. Поскольку Python все еще находится в предварительном просмотре для Azure Functions я хотел знать, есть ли у кого-нибудь здесь опыт подключения модулей к Azure Functions и если там можно установить OpenCV ?

  • Как вызвать функцию, которая принимает аргумент в шаблоне Django?
  • Имя аргумента функции списка Python
  • Функция python как аргумент функции?
  • Печать возвращаемого значения в функции
  • Получить путь импорта функции
  • Python: динамически создавать функцию во время выполнения
  • 2 Solutions collect form web for “Запустить Python + OpenCV + dlib в Azure Функции”

    Вы можете принести свои собственные модули в свою функцию, загрузив их в папку lib находящуюся в той же папке, что и ваша функция.

    Однако в контексте OpenCV он не поддерживается в настоящий момент. Версия Python по умолчанию, используемая в среде Azure Function, – Python 2.7. Если вы попытаетесь выполнить код функции с помощью OpenCV для 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 

    Исправить это – обновить версию numpy используемую Python 2.7 , но вы не сможете запускать обновление самостоятельно.

    Как вы уже отметили, поддержка языка Python для Azure Functions находится на экспериментальной стадии прямо сейчас. Эти проблемы будут рассмотрены, когда Python будет полностью интегрирован в качестве первоклассного языка.

    поэтому я подумал о грязном хаке, он установит пакет при первом запуске и выдаст ошибку, поэтому функция перезапустится. Следуй этим шагам:

    1. Загрузите пакет в каталог функций (я просто добавил пакет в проект git, для которого синхронизирована функция).
    2. Сделайте что-нибудь вроде (вероятно, лучший способ, но я действительно новичок в 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, поэтому вам нужно устанавливать пакеты вручную.

    Итак, единственный реальный трюк – найти подходящий пакет колес (я твердо верю, что функция использует Python 2.7, я не мог заставить его работать с пакетами для Python 3.4)

    Python - лучший язык программирования в мире.