स्थापित pyusb, फिर भी: 'ImportError: कोर नाम का कोई मॉड्यूल नहीं'


11

मेरे रास्पबेरी पाई पर मैंने स्थापित किया libusbऔर के pyusbमाध्यम से sudo apt-get install libusb-dev python-usb

लेकिन कुछ पायथन कोड ( पायरो , एक रोइंग मशीन से डेटा पढ़ने के लिए) चलाने से मुझे यह त्रुटि मिलती है import usb.core:

ImportError: कोर नाम का कोई मॉड्यूल नहीं

यह त्रुटि बताती है कि मैंने pyusbठीक से स्थापित नहीं किया था , इसलिए मैंने इसे फिर से मैन्युअल रूप से (इसे डाउनलोड करना और चलाना sudo python setup.py install) किया, लेकिन इसने इसे ठीक नहीं किया।

मुझे लगता है कि इस मुद्दे को निर्देशिका के साथ कुछ करना पड़ सकता है /usr/local/lib/python2.7/dist-packages/usb: मेरे उबंटू लैपटॉप पर यह फ़ोल्डर मौजूद है और इसमें (अन्य के बीच) शामिल है core.py, लेकिन रास्पबेरी पाई पर मौजूद फ़ोल्डर गैर-मौजूद है। lsमाता-पिता-निर्देशिका में फ़ोल्डर को सूचीबद्ध करता है, लेकिन इसके लिए बढ़ते काम नहीं करता है ...

मैं यह समस्या कैसे हल करूं? क्या मुझे रास्पबेरी पाई पर प्यूसब के एक विशिष्ट संस्करण का उपयोग करना होगा?

जवाबों:


8

कृपया चरणों का पालन करें और देखें कि क्या यह काम करता है।

$ sudo apt-get update
$ sudo apt-get install python-pip  #if you don't have pip installed already
$ sudo pip install pyusb

'sudo pip install pip' मुझे "आवश्यकता पहले से संतुष्ट" देता है। इसे अपग्रेड करने से "आवश्यकता पहले से ही अद्यतित होती है"। मैंने pyusb-1.0 की एक मैन्युअल स्थापना की भी कोशिश की, जैसा कि Krzysztof Adamski ने सुझाव दिया था, लेकिन समस्या अभी भी मौजूद है। क्या यह एक ताजा स्थापित पर उपरोक्त चरणों को करने के लिए काम कर सकता है?
ए। गोसेन्स ने

चरण sudo को छोड़ें apt-get install python-pi। बस टाइप करें sudo pip इंस्टॉल pyusb जो आपके लिए काम करना चाहिए।
स्टीव इर्विन

क्षमा करें, गलत किया गया। मेरा मतलब था कि 'sudo pip install pyusb' देता है "रिक्वायरमेंट पहले से संतुष्ट"।
ए। गोसेंस

1
@ A.Goossens: आपको शायद पहले से pyusbस्थापित किया हुआ अनइंस्टॉल करना चाहिए । जबकि आपके द्वारा स्थापित पैकेज के लिए यह आसान है apt-get, यह मैन्युअल रूप से स्थापित एक के लिए कठिन हो सकता है।
Krzysztof Adamski

चूँकि मुझे याद नहीं था कि pyusb और libusb के पहले से कौन से संस्करण मैंने पहले ही इंस्टाल किए थे, मैंने रास्पबियन की एक ताज़ा स्थापना की और स्टिवेल्विन के चरणों का उपयोग किया। उन्होंने काम किया! अब पाइरो एक आकर्षण की तरह काम करता है! जाहिरा तौर पर libusb की जरूरत भी नहीं है या पहले से ही डिफ़ॉल्ट रूप से स्थापित है। मेरी मदद करने के लिए धन्यवाद!
ए। गोसेंस

7

pyusb पुस्तकालय दो संस्करणों में आता है:

  • स्थिर (0.4.x)
  • विकास के तहत (1.0.x)

डेबियन वितरण में केवल stableसंस्करण होता है और यह वह है जिसे आपने apt-getकमांड का उपयोग करके स्थापित किया है ।

अब pyrowआयात करने की कोशिश कर रहा है usb.coreजो केवल 1.0.xपुस्तकालय के संस्करण में मौजूद है । और वास्तव में, pyrow'sवेबसाइट बताती है कि इसके लिए pyusb के 1.0 संस्करण की आवश्यकता है। यही कारण है कि आपको समस्याएं हो रही हैं।

तो उपयोग करने के लिए pyrowआपको pyusb1.0.x की आवश्यकता है जो कि डेबियन में उपलब्ध नहीं है, इसलिए आप apt-get का उपयोग करके इसे स्थापित नहीं कर सकते। इस समस्या का सबसे आसान समाधान है @Stevelrwin ने सुसाइड किया - उपयोग pip installकरने से pyusb की 1.0.x शाखा स्थापित हो जाएगी। virtualenvयदि आप कुछ पुस्तकालयों में डेबियन पैकेज से नहीं आ रहे हैं, तो आप अपने सिस्टम को प्रदूषित नहीं करना चाहते हैं।


धन्यवाद, यह समस्या को और अधिक स्पष्ट करता है मुझे! हालाँकि, समस्या अभी भी मौजूद है। Stevelrwin पर टिप्पणी देखें।
ए। गोसेन्स

3

यह कोशिश करो, यह मेरे लिए एक रास्पबेरी पीआई 3 बी + पायथन 3.5.3 के लिए काम किया

sudo apt-get install python-usb python3-usb

चलाने के बाद कि कोड usb.core आयात करता है

(रास्पबेरी पीआई 3 बी + - पायथन 3.5.3 - 2019)


1

यूरेका! मैंने रास्पबेरी पाई पर समस्या को हल किया है जिसमें पायथन संस्करण 2.7 और 3.4.2 दोनों स्थापित हैं।

चरण 1: अजगर usb पुस्तकालयों को संस्करण 2.7 से संस्करण 3.4 में कॉपी करें।

/Usr/local/lib/python/2.7/dist-packages/ में दो फ़ोल्डर थे

pyusb-1.0.0.egg-info, और

यु एस बी

जिन्हें /usr/local/lib/python/3.4/dist-packages/ में कॉपी किया गया था

चरण 2: पायथन संस्करण 3.4 को पायथन इंस्टॉलेशन टूल जिसे "पाइप" कमांड लाइन कहा जाता है, को पहचानने के लिए easy_install का उपयोग करें: sudo easy_install-3.4 pip

चरण 3: पायथन लाइब्रेरी को पायथन संस्करण 3.4 कमांड लाइन में स्थापित करें: sudo pip3.4 इंस्टॉल करें pyusb

अब पाइबस लाइब्रेरी को डिफ़ॉल्ट संस्करण के बजाय (या इसके अलावा) पायथन संस्करण 3.4 में स्थापित किया जाना चाहिए, जो कि संस्करण 2.7 है


-1

मेरी भी यही समस्या है।

मैंने इस कारण पर जुर्माना लगाया, कम से कम मेरी मशीन पर:

रास्पबेरी पाई पायथन की दो स्थापनाओं के साथ आती है: 2.x और 3.x, लेकिन pyusb की स्थापना स्क्रिप्ट डिफ़ॉल्ट रूप से संस्करण 2.x पर सॉफ़्टवेयर स्थापित करती है।

इसलिए जब हम इसे संस्करण 3.x त्रुटि में उपयोग करने का प्रयास करते हैं: "ImportError: कोई मॉड्यूल जिसका नाम कोर नहीं है" स्वचालित रूप से उगता है।

मेरे पास अभी के लिए कोई समाधान नहीं है लेकिन मुझे लगता है कि इसे खोजने के लिए जटिल नहीं होना चाहिए।


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