我正在运行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。
答案 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
下安装库。