Конфликт установочного пакета в Dask: получение ModuleNotFoundError для одного из моих пакетов cv2 - PullRequest
0 голосов
/ 13 марта 2020

Мой контейнер с dask развернут в Cluster. Попытка вызова dask-клиента из приложения flask, работающего на моем локальном компьютере. С моим приложением flask я выполняю некоторую обработку изображений с использованием пакета cv2 python, который я прошу рабочих dask. При попытке запустить мое приложение я сталкиваюсь с ошибкой ниже.

Файл "/opt/conda/lib/python3.6/site-packages/distributed/protocol/pickle.py", строка 59, в загрузках Файл "/opt/conda/lib/python3.6/site-packages/cloudpickle/cloudpickle.py", строка 1161, в subimport ModuleNotFoundError: нет модуля с именем 'cv2.cv2'; 'cv2' не является пакетом

У меня такая же работа со скриптом в записной книжке sage-maker, но при попытке сменить клиента на мой локальный компьютер я получаю эту ошибку. Я устанавливаю cv2, используя pip3, как показано ниже, на локальном компьютере моего клиента

pip3, устанавливаем opencv- python

, где, как и в моем планировщике и работнике, я устанавливаю cv2, используя conda, как показано ниже

RUN conda install opencv.

Пожалуйста, помогите мне понять, что может быть причиной этой проблемы.

Мой код в моем приложении, где я получаю доступ к cv2, как показано ниже.

import cv2
def datalake_image_download(uri,org_id):
    contract_id = '<uuid>'
    url = dj_service_url+"/"+org_id+"/"+contract_id+"?imgurl="+uri
    response = requests.get(url)
    # logger.info(response)
    return cv2.imdecode(np.frombuffer(response.content, np.uint8), cv2.IMREAD_COLOR)
...