Pyusb on windows - no backend available

I'm trying to have my Python application interface with an NFC device via USB. The best option seems to be PyUSB, but I can't get it to connect to the libusb backend. I keep getting

ValueError: No backend available

I've looked at the stack trace, and found that usb/backend/libusb10.py (which is part of pyusb) is trying to load libusb-1.0.dll to use as the backend, but it can't find it. It's not that it's not in my path, it's not on my computer at all!

I have installed libusb-win32, but the resulting directory only seems to include libusb0.dll. Where is libusb-1.0.dll???!

I would love to know either where to get that dll, or even a different suggestion to get PyUSB to work on Windows 7.


Download and install libusb-win32-devel-filter-1.2.6.0.exe. It should work.


I had a similar issue recently trying to talk to a USB device I am developing. I scoured the web looking for libusb-1.0.dll's and had no luck. I found source code, but nothing built and ready to install. I ended up installing the libusb-win32 binaries, which is the libusb0.dll.

PyUSB will search for libusb-1.0, libusb0, and openUSB backends.

libusb0.dll was already on my system, but something was still not set up right, do PyUSB was not working.

I followed the directions here to download and install the driver using the GUI tools provided to install the filter driver, and the INF wizard. Note, it didn't work until I ran the INF wizard.

I'm pretty new to programming and I've found the lack of clear documentation/examples to string this all together rather frustrating.