ImportError : libSM.so.6 : 공유 객체 파일을 열 수 없습니다 : 해당 파일 또는 디렉토리가 없습니다.


110

OpenCV를 가져 오려고 할 때 import cv2다음 오류가 발생합니다.

/usr/local/lib/python2.7/dist-packages/cv2/__init__.py in <module>()
      7 
      8 # make IDE's (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

이 문제를 해결하는 방법을 모르겠습니다 . Google의 새로운 Colaboratory 도구를 사용해보십시오. 노트북 위치 : https://drive.google.com/file/d/0B7-sJqBiyjCcRmFkMzl6cy1iN0k/view?usp=sharing

답변:


135

이렇게하면 스크립트의 처음 두 줄로 문제가 해결되었습니다.

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

1
당신은 해산 할 수 있습니까? 어느 scirpt? cv2 / __ init__.py?
Gr8 Adakron

26
@ TheGr8Adakron,sudo apt-get install libsm6
Alexander Lubyagin

63
누구에게나 도움이되도록 공유하는 것뿐입니다. 또한 실행했다 sudo apt-get install -y libxrender-dev해결에 libXrender(libsm6 뒤를이었다) 오류
아카 쉬 고얄에게

57

sudo를 추가해야합니다. 설치하기 위해 다음을 수행했습니다.

sudo apt-get install libsm6 libxrender1 libfontconfig1

그런 다음 (선택 사항! 필요하지 않을 수도 있음)

sudo python3 -m pip install opencv-contrib-python

드디어 해냈습니다!


13
단지 사용하는 apt-get install libsm6 libxrender1 libfontconfig1나를 위해 일한
Jiloc

49

CentOS의 경우 다음을 실행하십시오. sudo yum install libXext libSM libXrender


이로 인해 Anaconda R 설치에서 설치된대로 명령 줄에서 R을 실행할 때 segfault가 발생했습니다.
blahblahetcetc

30

이제 opencv-python그래픽 종속성 (libSM과 같은)을 제거 하는 헤드리스 버전이 있습니다. 릴리스 페이지 에서 일반 / 헤드리스 버전을 볼 수 있습니다 (그리고 이로 이어지는 GitHub 문제 ). -headless예를 들어, 설치할 때 추가 하십시오.

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

ImportError: libSM.so.6: cannot open shared object file: No such file or directory한 번 추가 된 헤드리스 오류가 발생 했습니다
Vadim

또한 Google App Engine 가변형 환경에서 OpenCV를 실행하는 솔루션을 찾는 사람이라면 이것이 솔루션입니다.
Oğulcan Çelik

21

python-opencv버전에 문제가있을 수 있습니다 . GUI 종속성을 포함하지 않는 3.3.0.9로 버전을 다운 그레이드하는 것이 좋습니다. 같은 질문은 여기에 GitHub의에 대한 링크 발견 된 대답을 .


2
pip install 'opencv-contrib-python == 3.3.0.9'(현재 버전을 제거한 후 : pip uninstall opencv-contrib-python) -github.com/skvark/opencv-python/issues/44
Alex Punnen

2

python:3.7-slim도커 상자 에서 openCV와 비슷한 문제에 직면했습니다 . 다음은 나를 위해 트릭을 수행했습니다.

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

이것이 도움이되는지 확인하십시오!


@SaurabhGupta 감사합니다, 당신이 맞습니다. 방금 수정했습니다.
Utopia

0

Google Cloud Platform의 Ubuntu에서 실행되는 Anaconda-Jupyter 노트북에 cv2를 설치할 수 없습니다. 하지만 다음과 같은 방법을 찾았습니다.

ssh 터미널에서 다음 명령을 실행하고 지침을 따릅니다.

 sudo apt-get install libsm6 libxrender1 libfontconfig1

설치되면 Jupyter 노트북을 열고 다음 명령을 실행하십시오.

!pip install opencv-contrib-python

참고 : "sudo python3 -m pip install opencv-contrib-python"명령을 실행하려고했지만 오류가 표시되었습니다. 그러나 위의 명령은 나를 위해 일했습니다.

이제 노트북 페이지를 새로 고침하고 노트북 import cv2에서 실행 하여 설치 여부를 확인합니다 .


0

나는 같은 문제가 docker있었고 다음 단계 가 나를 위해 일했습니다.

apt update

그때:

apt install libsm6 libxext6 libxrender-dev
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.