Как установить python-opencv в amazon-sagemaker?

#opencv #cv2 #amazon-sagemaker

#python #opencv #amazon-sagemaker

Вопрос:

Я установил пакет OpenCV с помощью pip install opencv-python .

Когда я импортирую cv2 в свой код.

 import cv2
 

Я получил следующую ошибку:

 
---------------------------------------------------------------------------
ImportError                               Traceback (most recent call last)
/tmp/ipykernel_324/571303353.py in <module>
----> 1 import cv2

~/.conda/envs/default/lib/python3.9/site-packages/cv2/__init__.py in <module>
      6 import sys
      7 
----> 8 from .cv2 import *
      9 from .cv2 import _registerMatType
     10 from . import mat_wrapper

ImportError: libgthread-2.0.so.0: cannot open shared object file: No such file or directory
 

Вот несколько решений для этой ошибки, но, похоже, требуется разрешение root.

 apt-get update -y
apt-get install libglib2.0-0
 

Когда я запускаю эти команды в терминале, я получаю следующие ошибки.

 (studiolab) studio-lab-user@default:~/sagemaker-studiolab-notebooks/vit/ViT-pytorch$ apt-get update -y
Reading package lists... Done
E: List directory /var/lib/apt/lists/partial is missing. - Acquire (13: Permission denied)
 

Ответ №1:

Эта проблема решена.

 pip uninstall opencv-python
pip install opencv-python-headless
 

Более подробную информацию можно найти здесь.

Ответ №2:

У меня была такая же проблема. С помощью этой строки вы можете установить зависимость glib для Amazon Sagemaker Studio Lab. Просто запустите его в своей ячейке ноутбука.

 ! conda install glib=2.51.0 -y
 

Вы также можете создать другую виртуальную среду для своего сеанса, содержащую glib:

 ! conda create -n glib-test -c defaults -c conda-forge python=3 glib=2.51.0` -y
 

Ответ №3:

Я тоже столкнулся с этой ошибкой импорта и благодаря предложенному @AmirMasoud решению. После запуска ! conda install glib=2.51.0 -y в моей виртуальной среде теперь cv2 успешно импортируется.