ImportError: libSM.so.6: kan het gedeelde objectbestand niet openen: geen bestand of map

Als ik OpenCV probeer te importeren, krijg ik de volgende foutmelding met behulp van 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

Ik weet niet hoe ik dit moet oplossen – ik probeer te spelen met de nieuwe Colaboratory-tool van Google . Notebook is hier: https://drive.google.com/file /d/0B7-sJqBiyjCcRmFkMzl6cy1iN0k/view?usp=sharing


Antwoord 1, autoriteit 100%

Dit loste het probleem op door het als de eerste twee regels van het script te gebruiken:

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

Antwoord 2, autoriteit 39%

Je moet sudo toevoegen. Ik heb het volgende gedaan om het te installeren:

sudo apt-get install libsm6 libxrender1 libfontconfig1

en deed dat toen (optioneel! misschien heb je het niet nodig)

sudo python3 -m pip install opencv-contrib-python

EINDELIJK is het gelukt!


Antwoord 3, autoriteit 37%

Voor CentOS voer je dit uit:
sudo yum install libXext libSM libXrender


Antwoord 4, Autoriteit 25%

Er is nu een koploze versie van opencv-pythondie de grafische afhankelijkheden (zoals libsm) verwijdert. U kunt de normale / headless-versie bekijken op de releases pagina (en de Github-probleem die hiertoe leiden); Voeg gewoon -headlessbij het installeren, b.v.,

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

Antwoord 5, Autoriteit 13%

Kan het probleem zijn met uw python-opencv-versie. Het is beter om uw versie naar 3.3.0.9 te downgraden, wat geen GUI-afhankelijkheden bevat. Dezelfde vraag is hier gevonden op Github hier de link naar de antwoord .


Antwoord 6, Autoriteit 4%

Ik had hetzelfde probleem in dockeren deze stappen werkte voor mij:

apt update

Dan:

apt install libsm6 libxext6 libxrender-dev

Antwoord 7

Ik kreeg een soortgelijk probleem met OpenCV op de python:3.7-slimDocker Box. Hierna volgde de truc voor mij:

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

Zie als dit helpt!


Antwoord 8

Ik kon cv2 niet installeren op een Anaconda-Jupyter-notebook die draait op Ubuntu op Google Cloud Platform. Maar ik heb een manier gevonden om het als volgt te doen:

Voer de volgende opdracht uit vanaf de ssh-terminal en volg de instructie:

sudo apt-get install libsm6 libxrender1 libfontconfig1

Zodra het is geïnstalleerd Open de Jupyter-notebook en voer het volgende commando uit:

!pip install opencv-contrib-python

Opmerking: ik heb geprobeerd dit commando uit te voeren: “sudo python3 -m pip install opencv-contrib-python” maar er werd een fout weergegeven. Maar bovenstaande opdracht werkte voor mij.

Vernieuw nu de notebookpagina en controleer of deze al dan niet is geïnstalleerd door import cv2in de notebook uit te voeren.


Antwoord 9

Ik kreeg dezelfde fout bij het gebruik van heroku, volg deze stappen:

voeg een bestand met de naam Aptfile toe aan uw repo
en voeg een lijst met apt-pakketnamen toe die in dat Aptbestand moeten worden geïnstalleerd

zoiets in (mijn geval)

libsm6
libxrender1
libfontconfig1
libice6

probeer nu de code naar heroku te pushen. Dit zal het werk doen.

Of je kunt nog steeds verwijzen naar deze blog

Other episodes