PyUSB ValueError:没有可用的后端

时间:2014-09-10 01:35:45

标签: python python-2.7 windows-7 usb pyusb

我在Win 7操作系统上运行Python 2.7.8。我正在尝试通过PyUSB与USB设备(Numato 32通道GPIO设备)进行通信。

我从网址http://walac.github.io/pyusb

下载了walac-pyusb-7071ad3

我停止接收“ValueError:No backend available”。任何Python专家都可以告诉我哪里出错了吗?

以下是代码:

import sys
import usb
import usb.core
import usb.util
import usb.backend.libusb1

backend = usb.backend.libusb1.get_backend(find_library=lambda C:'\Python27')
numato = usb.core.find(idVendor=00000006,idProduct = 00000000, backend=backend)

这是Python错误消息:

Traceback (most recent call last):
  File "C:\Python_Yang\PyUSBNumato.py", line 19, in <module>
    numato = usb.core.find(idVendor=00000006,idProduct = 00000000, backend=backend)
  File "C:\Python_Yang\usb\core.py", line 1199, in find
    raise ValueError('No backend available')
ValueError: No backend available

3 个答案:

答案 0 :(得分:2)

我遇到了同样的错误,但我没有成功使用find_libraryTypeError: get_backend() got an unexpected keyword argument 'find_library')。 我想,虽然您没有说出来,但backend无效(None)。

您是否在路径C:\Python27中拥有libusb1实现?我想你没有把它安装在Python的文件夹中,如果有的话,你的回答是:PyUSB backend not accessible

否则,在不使用find_library的情况下,您必须在PATH环境变量中提供libusb1实现。我是这样做的(你可以用你的位置替换os.getcwd()):

def get_backend_libusb01():
    libusb01_location = os.getcwd()

    # load-library (ctypes.util.find_library) workaround: also search the current folder
    is_current_folder_in_search_path = True
    if None == usb.backend.libusb0.get_backend():
        is_current_folder_in_search_path = libusb01_location in os.environ['PATH']
        if not is_current_folder_in_search_path:
            os.environ['PATH'] += os.pathsep + libusb01_location

    backend = usb.backend.libusb0.get_backend()

    if not is_current_folder_in_search_path:
        os.environ['PATH'] = os.environ['PATH'].replace(os.pathsep + libusb01_location, "")

    return backend

答案 1 :(得分:1)

我遇到了这个麻烦,我切换了python libusb包装器并且它已经消失了:https://github.com/vpelletier/python-libusb1

答案 2 :(得分:1)

我做了:   - 下载并安装libusb-win32-devel-filter-1.2.6.0.exe。它应该工作。

自:

Pyusb on windows - no backend available

对我来说真的很有用。