Мой контейнер с 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)