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

1492 ワード

に質問
Opencvのコードを実行するときに、エラーを報告します.
Traceback (most recent call last):
  File "data_generator.py", line 24, in 
    import cv2
  File "/usr/local/lib/python3.5/dist-packages/cv2/__init__.py", line 3, in 
    from .cv2 import *
ImportError: libSM.so.6: cannot open shared object file: No such file or directory

解決する
共有ファイル・ライブラリが不足しているため、解決策は次のとおりです.
  • apt-file
  • をインストール
    # apt-get update
    
    # apt-get install apt-file
    
    # apt-file update
    
  • 依存ライブラリを探す
  • # apt-file search libSM.so.6
    
  • ヒントに従って、適切な依存ライブラリ
  • をインストールする.
    # apt-get install libsm6
    

    に表示されます.
    apt-fileその他の使い方
    アプリケーションのインストールでは、欠落など、さまざまなファイルの不足や依存などの問題に遭遇することが多い.soファイル.Ubuntuでは、依存を検索するための強力なツールapt-fileが提供されています.Docker Imageのシステムは通常Ubuntuであるため、Dockerで使用するのが最適なシーンです.
  • コマンドフォーマット
  • $ apt-file seach [filename]
    
  • 欠落したファイルを検索
  • cvが欠けている場合.pyファイル、cvを検索します.pyファイル、apt-fileはcvを含むリストを表示します.pyのパッケージで、必要なパッケージがpython-opencvであることを発見し、python-opencvをインストールします.
    $ apt-file search cv.py
    
  • パッケージ内のファイル
  • をリストする
    python-opencvのファイルを表示します.
    #     
    $ apt-file list [package name]
    
    # Demo
    $ apt-file list python-opencv
    

    CentOSでは、yum whatprovidesコマンドを使用して、コマンドが存在するパッケージを問い合わせることができます.
    参考記事
    https://blog.csdn.net/liuyingying0418/article/details/84580254