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

虽然值错误'device not found'被抛出。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-ports没有正确安装libusb

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

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

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

Homebrew install of libusb for me

[sudo] brew install libusb

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

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

which python

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

我认为这个问题是因为python通过pyenv或预装python(随macOS发货)在/usr下寻找libusb库,而MacPorts在/opt/local下安装库。

相关内容

  • 没有找到相关文章

最新更新