我使用python 2.7運行Mac OS X 10.8。我用MacPorts安裝了libusb,它確實有效(測試我的導入usb.core & usb.util)。然而,每次我試圖訪問一個設備,我得到以下錯誤:在Mac OS X上的libusb - 「ValueError:No backend available」
>>> dev=usb.core.find(idVendor=0x1d50, idProduct=0x6048)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/Library/Python/2.7/site-packages/usb/core.py", line 829, in find
raise ValueError('No backend available')
ValueError: No backend available
我試過幾個其他的東西,比如import usb.backend
,但我不知道什麼是應該做的。同樣的結果,工作3天后。
感謝您提前提供任何幫助!
編輯:這實際上已經改變。我不知道我修改,以及如何的文件,但現在以下工作:
>>> import usb
>>> usb.core.find(idVendor=0x1d50, idProduct=0x6048)
<usb.core.Device object at 0x10eb2f2d0>
不過,現在當我運行sudo rfcat -r
(這是獲得工作的libusb的真正目的),我仍然得到這些錯誤信息:
Error in resetup():ValueError('No backend available',)
編輯:這似乎是與ipython的問題。當我開始IPython中的根和進口USB,我無法找到我的設備:
In [1]: import usb
In [2]: import usb.util
In [3]: import usb.core
In [4]: usb.core.find(idVendor=0x1d50, idProduct=0x6048)
---------------------------------------------------------------------------
ValueError Traceback (most recent call last)
<ipython-input-4-7884198c46c2> in <module>()
----> 1 usb.core.find(idVendor=0x1d50, idProduct=0x6048)
/Library/Python/2.7/site-packages/usb/core.pyc in find(find_all, backend, custom_match, **args)
827 break
828 else:
--> 829 raise ValueError('No backend available')
830
831 k, v = args.keys(), args.values()
ValueError: No backend available
In [5]:
編輯:Jesis基督,再次。如果我啓動python,然後運行以下命令:
>>> from IPython.frontend.terminal.ipapp import launch_new_instance
>>> launch_new_instance()
我得到一個ipython提示符。當它在我導入USB並找到我的設備時,沒有後端錯誤。
如果我在python中導入usb,然後執行上面的命令來獲得ipython提示符,然後找到我的設備,我得到一個「name」usb'not defined「錯誤。然後,我導入USB並找到我的設備,然後沒有錯誤。
在這一點上,我非常困惑。上面的命令正是/ usr/local/bin/ipython包含的,所以我應該得到相同的結果。
這似乎是http://stackoverflow.com/questions/5152133/pyusb-backend-not-accessible?rq=1相同的問題,雖然它在我的python外殼,只是不在rfcat。 –