PyUSB无法找到设备

时间:2011-12-19 00:16:18

标签: python pyusb

我正在运行OS X 10.5,并尝试使用以下代码通过PyUSB连接到USB设备。

   import usb.core, time, usb

   dev = usb.core.find(idVendor=0x054c,idProduct=0x0155)
    if dev is None:
      raise ValueError('Device not found')           # if device not found report an error

虽然抛出了“找不到设备”的值错误。 OS X System Profiler将设备产品和供应商ID表示为..

      EyeToy USB camera Namtai:

      Product ID: 0x0155
      Vendor ID: 0x054c  (Sony Corporation)
      Version: 1.00
      Speed: Up to 12 Mb/sec
      Manufacturer: Sony corporation
      Location ID: 0x06200000 / 3
      Current Available (mA): 500
      Current Required (mA): 500

解决方案:必须手动安装libusb-1.0.8。 Mac端口没有正确安装libusb。

3 个答案:

答案 0 :(得分:3)

尝试通过PyUSB枚举您的设备。此示例来自文档以查找所有打印机(设备类7):

printers = usb.core.find(find_all=True, bDeviceClass=7)

这应该包含您的设备,您可以看到这些字段实际上是什么。你的相机可能是0x0e或0x10类。

答案 1 :(得分:1)

自制的libusb安装对我有帮助

[sudo] brew install libusb

答案 2 :(得分:0)

我遇到了同样的问题,并通过MacPorts安装了libusb,但是使用了pyenv安装的python。

确保使用通过MacPorts安装的python版本。

which python

上面的代码应该告诉你你正在使用的python版本的位置。应该说/opt/local/bin/python2.7或您通过MacPorts安装的任何版本。

我认为问题是因为通过pyenv安装的python或预安装的python(随macOS一起提供)在/usr下查找libusb库,而MacPorts在/opt/local下安装库。