ImportError: libSM.so.6: невозможно открыть файл общих объектов: нет такого файла или каталога

При попытке импортировать OpenCV, используя import cv2, я получаю следующую ошибку:

/usr/local/lib/python2.7/dist-packages/cv2/__init__.py in <module>()
      7 
      8 # make IDE (PyCharm) autocompletion happy
----> 9 from .cv2 import *
     10 
     11 # wildcard import above does not import "private" variables like __version__

ImportError: libSM.so.6: cannot open shared object file: No such file or directory

Не знаю, как это исправить, пытаясь поиграть с новым инструментом Colaboratory. Ноутбук находится здесь: https://drive.google.com/file/d/0B7-sJqBiyjCcRmFkMzl6cy1iN0k/view?usp=sharing

Ответ 1

Это устранило проблему, когда она была первой двух строк script:

!pip install opencv-python
!apt update && apt install -y libsm6 libxext6

Ответ 2

Вам нужно добавить sudo. Я сделал следующее, чтобы установить его:

  • sudo apt-get install libsm6 libxrender1 libfontconfig1

а потом сделал это

  • sudo python3 -m pip install opencv-contrib-python

НАКОНЕЦ сделал это!

Ответ 3

Для CentOS выполните следующее: sudo yum install libXext libSM libXrender

Ответ 4

Может быть проблема в вашей версии python-opencv. Лучше понизить вашу версию до 3.3.0.9, которая не включает никаких графических зависимостей. Этот же вопрос был найден на GitHub здесь ссылка на ответ.

Ответ 5

В настоящее время существует безголовая версия opencv-python, которая удаляет графические зависимости (например, libSM). Вы можете увидеть нормальную/безголовую версию на странице релизовпроблема GaHub, ведущая к этому); просто добавьте -headless при установке, например,

pip install opencv-python-headless
# also contrib, if needed
pip install opencv-contrib-python-headless

Ответ 6

Я не смог установить cv2 на ноутбук Anaconda-Jupyter, работающий в Ubuntu на Google Cloud Platform. Но я нашел способ сделать это следующим образом:

Запустите следующую команду из терминала ssh и следуйте инструкциям:

 sudo apt-get install libsm6 libxrender1 libfontconfig1

После его установки Откройте записную книжку Jupyter и выполните следующую команду:

!pip install opencv-contrib-python

Примечание: я попытался выполнить эту команду: "sudo python3 -m pip install opencv-contrib-python", но она показала ошибку. Но вышеуказанная команда сработала у меня.

Теперь обновите страницу записной книжки и проверьте, установлена она или нет, запустив import cv2 в записной книжке.

Ответ 7

Я сталкивался с подобной проблемой с openCV на док-станции python:3.7-slim. Следующее помогло мне:

apt-get install build-essential libglib2.0-0 libsm6 libxext6 libxrender-dev

Пожалуйста, посмотрите, поможет ли это!