Python shell说没有名为usb的模块,但linux shell没有

时间:2014-03-01 13:32:37

标签: pyusb python

我正在寻找关于pyusb的一些文档。找到这个link并试图使用Lennart Renegro的答案。

IDLE上的python shell中的

import usb给了我以下错误:

Traceback (most recent call last):
  File "<pyshell#0>", line 1, in <module>
    import usb
ImportError: No module named 'usb'

但是,我在bash上使用python first.py运行了这个程序:

import usb

dev = usb.core.find(idVendor = 0xfffe, idProduct = 0x0001)

if dev is None:
    raise ValueError('Device not found')

dev.set_configuration()

cfg = dev.get_active_configuration()

interface_number = cfg[(0,0)].bInterfaceNumber
alternate_setting = usb.control.get_interface(interface_number)
intf = usb.util.find_descriptor(cfg, bInterfaceNumber = interface_number, bAlternateSetting = alternate_setting)

ep = usb.util.find.descriptor(intf, custom_match = lambda e: usb.util.endpoint_direction(e.bEndpointAddress) == usb.util.ENDPOINT_OUT)
assert ep is not None

ep.write('test')

和bash返回以下错误(我之所以期待,因为我没有连接任何usb设备atm):

Traceback (most recent call last):
  File "first.py", line 6, in <module>
    raise ValueError('Device not found')
ValueError: Device not found

这里发生了什么?我如何阅读这些文档?

1 个答案:

答案 0 :(得分:0)

总结上面的讨论,显然IDLE的python版本和默认的python shell是不同的。你为python 2.7.5安装了pyusb,而你想在运行python 3.3.2的IDLE上使用它。

要解决此问题,请