web-dev-qa-db-fra.com

ImportError: libSM.so.6: impossible d'ouvrir le fichier d'objet partagé: aucun fichier ou répertoire de ce type

Lorsque j'essaie d'importer OpenCV, j'utilise import cv2 pour obtenir l'erreur suivante:

/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

Vous ne savez pas comment résoudre ce problème - essayez de vous amuser avec le nouvel outil Colaboratory de Google. Le bloc-notes est ici: https://drive.google.com/file/d/0B7-sJqBiyjCcRmFkMzl6cy1iN0k/view?usp=sharing

65

Cela a résolu le problème en l’ajoutant aux deux premières lignes du script:

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

Vous devez ajouter Sudo. J'ai fait ce qui suit pour le faire installer:

  • Sudo apt-get install libsm6 libxrender1 libfontconfig1

et ensuite cela

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

Enfin, c'est fini!

34
Cs20

Pour CentOS, lancez ceci: Sudo yum install libXext libSM libXrender

23
Caesar

Le problème est peut-être lié à votre version python-opencv. Il est préférable de rétrograder votre version vers la version 3.3.0.9 qui n'inclut aucune dépendance de l'interface graphique. La même question a été trouvée sur GitHub ici le lien vers le réponse .

19
Credoz

Il existe maintenant une version sans tête de opencv-python qui supprime les dépendances graphiques (comme libSM). Vous pouvez voir la version normale/sans tête sur le page des versions (et le numéro de GitHub menant à cela); ajoutez simplement -headless lors de l’installation, par exemple,

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

J'étais confronté au même problème avec openCV sur le docker python:3.7-slim. Suivre le truc pour moi:

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

S'il vous plaît voir si cela aide!

0
Utopia

Je n'ai pas pu installer cv2 sur le notebook Anaconda-Jupyter fonctionnant sous Ubuntu sur Google Cloud Platform. Mais j'ai trouvé un moyen de le faire comme suit:

Exécutez la commande suivante à partir du terminal ssh et suivez les instructions:

 Sudo apt-get install libsm6 libxrender1 libfontconfig1

Une fois installé, ouvrez le bloc-notes Jupyter et exécutez la commande suivante:

!pip install opencv-contrib-python

Remarque: j’ai essayé d’exécuter la commande suivante: "Sudo python3 -mpip install opencv-contrib-python", mais il y avait une erreur. Mais au-dessus de la commande a fonctionné pour moi.

Maintenant, actualisez la page du bloc-notes et vérifiez si elle est installée ou non en exécutant import cv2 dans le bloc-notes.

0
Yogesh