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

これにより、スクリプトの最初の2行として問題が修正されました。

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

1
あなたはエローブレートできますか?どっち?cv2 / __ init__.py?
Gr8アダクロン2018年

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

63
誰かを助けるために共有するだけです。エラーsudo apt-get install -y libxrender-devを解決するために実行する必要もありましたlibXrender(libsm6が後に続きました)
Akash Goyal

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ヘッドレスを追加するとエラーが発生しました
ヴァディム

また、誰かがGoogle App Engineフレキシブル環境でOpenCVを実行するソリューションを探しているなら、これがソリューションです。
OğulcanCelikの

21

python-opencvバージョンに問題がある可能性があります。GUIの依存関係を含まない3.3.0.9にバージョンをダウングレードすることをお勧めします。同じ質問がGitHubの回答へのリンクで見つかりました。


2
pip install 'opencv-contrib-python == 3.3.0.9'(もちろん現在のものを削除した後:pip uninstall opencv
Alex Punnen

2

Docker python:3.7-slimボックスのopenCVで同様の問題に直面していました。以下は私のためのトリックをしました:

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

これが役立つかどうか確認してください!


@SaurabhGuptaありがとう、あなたは正しいです。ちょうど修正しました。
ユートピア

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して、インストールされているかどうかを確認します。


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.