2

我正在运行 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-ports 没有正确安装 libusb。

4

3 回答 3

3

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

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

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

于 2011-12-19T04:48:58.097 回答
1

libusb 的 Homebrew 安装对我有帮助

[sudo] brew install libusb
于 2012-04-04T09:30:33.000 回答
0

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

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

which python

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

我认为问题是因为通过 pyenv 安装的 python 或预安装的 python(macOS 附带)在下查找 libusb 库,/usr而 MacPorts 将库安装在/opt/local.

于 2017-05-07T08:13:02.587 回答