ImportError: libSM.so.6: paylaşılan nesne dosyası açılamıyor: Böyle bir dosya veya dizin yok


113

OpenCV'yi içe aktarmaya çalışırken import cv2aşağıdaki hatayı alıyorum:

/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

Bunu nasıl düzelteceğinizden emin değilim - Google'ın yeni Colaboratory aracıyla oynamaya çalışıyorum . Not defteri burada: https://drive.google.com/file/d/0B7-sJqBiyjCcRmFkMzl6cy1iN0k/view?usp=sharing

Yanıtlar:


143

Bu, komut dosyasının ilk iki satırı olmasını sağlayarak sorunu çözdü:

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

1
açıklayabilir misin hangi scirpt? cv2 / __ init__.py?
Gr8 Adakron

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

63
Sadece kimseye yardım edebilsin diye paylaşmak; Ayrıca hatayı sudo apt-get install -y libxrender-devçözmek için koşmak zorunda kaldım libXrender(bunu libsm6 izledi)
Akash Goyal

58

Sudo eklemeniz gerekiyor. Yüklemek için aşağıdakileri yaptım:

sudo apt-get install libsm6 libxrender1 libfontconfig1

ve sonra yaptım (isteğe bağlı! belki ihtiyacınız olmayacak)

sudo python3 -m pip install opencv-contrib-python

SONUNDA başardım!


13
sadece apt-get install libsm6 libxrender1 libfontconfig1benim için çalıştı
Jiloc

52

CentOS için şunu çalıştırın: sudo yum install libXext libSM libXrender


Bu, Anaconda R kurulumum tarafından kurulan komut satırında R çalıştırırken bir segfault'a neden oldu.
blahblahetcetc

32

Artık opencv-pythongrafiksel bağımlılıkları (libSM gibi) ortadan kaldıran başsız bir sürümü var . Normal / başsız sürümü sürümler sayfasında (ve buna yol açan GitHub sorununu ) görebilirsiniz; sadece -headlessyüklerken ekleyin , ör.

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 directoryBaşsız eklendiğinde hata yapıyordum, gitti
Vadim

Ayrıca OpenCV'yi Google App Engine Esnek ortamında çalıştırmak için bir çözüm arayanlar varsa, çözüm budur.
Oğulcan Çelik

21

Sorun sizin python-opencvsürümünüzde olabilir. Sürümünüzü herhangi bir GUI bağımlılığı içermeyen 3.3.0.9'a düşürmek daha iyidir. Aynı soru GitHub'da da yanıtın bağlantısında bulundu .


2
pip install 'opencv-Contributor-python == 3.3.0.9' (mevcut olanı kaldırdıktan sonra, tabii ki: pip uninstall opencv-Contributor-python) - github.com/skvark/opencv-python/issues/44
Alex Punnen

2

Docker python:3.7-slimkutusundaki openCV ile benzer bir sorunla karşı karşıyaydım . Aşağıdakiler benim için hile yaptı:

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

Lütfen bunun yardımcı olup olmadığına bakın!


@SaurabhGupta Teşekkürler, haklısın. Sadece düzeltildi.
Utopia


0

Google Cloud Platform üzerinde Ubuntu üzerinde çalışan Anaconda-Jupyter dizüstü bilgisayara cv2 yükleyemedim. Ama bunu yapmanın bir yolunu şu şekilde buldum:

Ssh terminalinden aşağıdaki komutu çalıştırın ve talimatları izleyin:

 sudo apt-get install libsm6 libxrender1 libfontconfig1

Kurulduktan sonra Jupyter not defterini açın ve aşağıdaki komutu çalıştırın:

!pip install opencv-contrib-python

Not: Şu komutu çalıştırmayı denedim: "sudo python3 -m pip install opencv-katkıda-python" ama bir hata gösteriyordu. Ama yukarıdaki komut benim için çalıştı.

Şimdi not defteri sayfasını yenileyin ve not defterinde çalıştırarak yüklenip yüklenmediğini kontrol edin import cv2.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.