2011-06-02 20 views
8

काम नहीं करता मैं ट्यूटोरियल (http://pyusb.sourceforge.net/docs/1.0/tutorial.html)अजगर pyusb आयात usb.core

मैं खिड़कियों पर XP SP3 हूँ, अनुसरण कर रही हूं मेरी अजगर संस्करण 2.7 है और मैं डाउनलोड और pyusb-1.0.0-a1.zip

और libusb-win32-bin-1.2.4.0.zip

import usb 

स्थापित काम करता है ठीक

लेकिन

import usb.core 

सभी

पर काम नहीं करता है यह कहते हैं

Traceback (most recent call last): 
    File "D:\py\usb.py", line 1, in <module> 
    from usb import core 
    File "D:\py\usb.py", line 1, in <module> 
    from usb import core 
ImportError: cannot import name core 

किसी भी समाधान?

धन्यवाद!

पेज।

Traceback (most recent call last): 
    File "D:\py\usb.py", line 1, in <module> 

जिसका मतलब है कि यह PATH में usb.py फ़ाइल है: "usb आयात कोर से" इस

Traceback (most recent call last): 
    File "D:\py\usb.py", line 1, in <module> 
    from usb import core 
    File "D:\py\usb.py", line 1, in <module> 
    from usb import core 
ImportError: cannot import name core 

पूर्ण स्रोत कोड यहाँ है

from usb import core 
#find device 
dev = usb.core.find(idVendor=0x1516, idProduct=0x8628) 
#found? 
if dev is None : 
     raise ValueError('device not found') 

#set the active config. with no args, the first config will be the active one 

dev.set_configuration() 

#get an end point instance 
ep = usb.util.find_descriptor(
    dev.get_interface_altsetting(), #first interface 
    #match the first Out Endpoint 
    custom_match = \ 
     lambda e: \ 
      usb.util.endpoint_direction(e.bEndpointAddress) == \ 
      usb.util.ENDPOINT_OUT) 
assert ep is not None 

while(1): 
    ep.write(0x5553424350DDBC880000000000000600000000000000000000000000000000) 
    ep.write(0x5553425350ddbc880000000000) 

उत्तर

3

दोनों ही मामलों त्रुटि है में बनाना पहले (शायद इस मामले में . में D:\py\ है) पायथन एम के मार्ग से odules।

क्या आपने इस मॉड्यूल को ठीक से स्थापित किया था? इस usb.py फ़ाइल को किसी अन्य चीज़ का नाम बदलने का प्रयास करें, आप देखेंगे कि त्रुटि "आयात त्रुटि: यूएसबी नामक कोई मॉड्यूल" नहीं बनता है। यूएसबी फ़ोल्डर i.e. <python_path>\lib\site-packages\usb\core.py के लिए पाइथन इंस्टॉल पथ (C:\Python27\ जैसे कुछ भी देखें)।

+0

मैं निर्देशिका को डेस्कटॉप में बदलता हूं, usb2.py पर यह कहता है कि ट्रेसबैक (सबसे हालिया कॉल अंतिम): फ़ाइल "सी:/दस्तावेज़ और सेटिंग्स/kty1104/डेस्कटॉप/usb2.py", पंक्ति 3 ,में dev = usb.core.find (idVendor = 0x1516, idProduct = 0x8628) नाम त्रुटि: नाम 'यूएसबी' परिभाषित नहीं किया गया है –

+0

धन्यवाद यह ठीक काम करता है यह सामान्य है कि "आयात यूएसबी" काम नहीं करता है लेकिन "यूएसबी आयात करें .core "काम करता है? –

+0

ओपन इंटरेक्टिव पायथन शेल (या यहां तक ​​कि बेहतर इंस्टॉल करें और [IPython] (http://ipython.scipy.org) का उपयोग करें) और करें: 'usb' आयात करें, अगली' सहायता (यूएसबी) '(या 'यूएसबी?' में आईपीथन), लाइन 'फ़ाइल' ढूंढें और जांचें कि यूएसबी मॉड्यूल दिए गए पथ में है (कम से कम __init__.py फ़ाइल और 'core.py' फ़ाइल के साथ 'usb *' नामक निर्देशिका हो। – Xaerxess

12

आपका प्रश्न कहता है कि आप 1.0 का उपयोग कर रहे हैं, लेकिन मेरे जैसा ही लक्षण था, इसलिए मैं इसे भविष्य में खोज इंजन उपयोगकर्ताओं के लिए यहां रखूंगा।

यदि आप import usb कर सकते हैं लेकिन import usb.core नहीं तो आप 1.0 के बजाय पायथन-यूएसबी 0.x चला रहे हैं।

https://github.com/walac/pyusb

3

मुझे लगता है कि 'डी: \ py \ usb.py "अपने py परीक्षण कार्यक्रम का नाम है।

दुर्भाग्य से यह पीई कंपाइलर को भ्रम पैदा करता है क्योंकि इस तथ्य के कारण कि यूएसबी मॉड्यूल का नाम भी है।

इसे यूएसबीटेस्ट में बदलें।py और सब कुछ

+0

मैं इसका उत्तर देने जा रहा था, इसका उल्लेख करने के लिए धन्यवाद –

2

काम करता है समझने जहां अजगर को लग रहा है अपने मॉड्यूल आयात के लिए, आप कोड निम्नलिखित चला सकते हैं:

import sys 
print(sys.path) 

यह आपके निर्देशिका नामों की सूची दिखाएगा कि अपने मॉड्यूल के लिए अजगर खोजें आयात करने के लिए :)

संबंधित मुद्दे