ImportError: libSM.so.6: साझा की गई फ़ाइल को नहीं खोल सकता: ऐसी कोई फ़ाइल या निर्देशिका नहीं


112

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 के नए सहयोगी उपकरण के साथ खेलने की कोशिश कर रहा है । नोटबुक यहां है: https://drive.google.com/file/d/0B7-sJqBiyjCcRmFkMzl6cy1iN0k/view?usp=sharing

जवाबों:


139

इसने स्क्रिप्ट की पहली दो पंक्तियों के रूप में इस समस्या को ठीक किया:

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

1
क्या आप एलोएब्रेट कर सकते हैं? किसकी खिल्ली? CV2 / __ init__.py?
जीआर 8 एडाक्रॉन

27
@ TheGr8Adakron,sudo apt-get install libsm6
अलेक्जेंडर लुबागिन

63
सिर्फ साझा करना ताकि यह किसी की मदद कर सके; मुझे त्रुटि sudo apt-get install -y libxrender-devको हल करने के लिए भी दौड़ना पड़ा libXrender(जिसके बाद libsm6)
आकाश गोयल

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

50

CentOS के लिए, इसे चलाएं: sudo yum install libXext libSM libXrender


जब मेरे एनाकोंडा आर इंस्टॉलेशन द्वारा स्थापित कमांड लाइन पर आर चल रहा है, तो यह एक सेगफॉल्ट का कारण बना।
ब्लाहबलेहसेट

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 को चलाने के लिए कोई समाधान ढूंढ रहा है, तो भी यह समाधान है।
ओउलकेन ऑलिक

21

हो सकता है कि समस्या आपके python-opencvसंस्करण के साथ हो । अपने वर्जन को 3.3.0.9 पर डाउनग्रेड करना बेहतर है, जिसमें कोई GUI निर्भरता शामिल नहीं है। GitHub पर एक ही सवाल जवाब के लिंक के लिए यहां पाया गया था ।


2
पाइप स्थापित 'opencv-contrib-python == 3.3.0.9' (वर्तमान एक को हटाने के बाद, बेशक: pip स्थापना रद्द करें opencv-contrib-python) - github.com/skvark/opencv-python/issues/44
एलेक्स पुन्नन

2

मैं python:3.7-slimडॉक बॉक्स पर OpenCV के साथ इसी तरह के मुद्दे का सामना कर रहा था । निम्नलिखित ने मेरे लिए चाल चली:

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

कृपया देखें कि क्या यह मदद करता है!


@ सौरभगुप्त धन्यवाद, आप सही हैं। ठीक किया गया।
यूटोपिया

0

मैं Google क्लाउड प्लेटफ़ॉर्म पर उबंटू में चल रहे एनाकोंडा-जुपिटर नोटबुक पर cv2 स्थापित करने में सक्षम नहीं था। लेकिन मुझे इसे करने का एक तरीका मिला:

Ssh टर्मिनल से निम्न कमांड चलाएँ और निर्देश का पालन करें:

 sudo apt-get install libsm6 libxrender1 libfontconfig1

एक बार इसकी स्थापना के बाद जुपिटर नोटबुक खोलें और निम्न कमांड चलाएं:

!pip install opencv-contrib-python

नोट: मैंने इस कमांड को चलाने की कोशिश की: "sudo python3 -m pip install opencv-contrib-python" लेकिन यह एक त्रुटि दिखा रहा था। लेकिन ऊपर की कमान ने मेरे लिए काम किया।

अब नोटबुक पेज को रिफ्रेश करें और जांचें कि यह import cv2नोटबुक में चल रहा है या नहीं ।


हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.