2015-09-24 20 views
2

我正在嘗試使用Python 2.7與PyUSB來與NI儀器DAQ板通話。我正在使用MacBook Pro並運行Yosemite 10.10.4。我已經能夠安裝Python和PyUSB包沒有任何明顯的問題,但是當我嘗試使用PyUSB,它不能找到一個後端庫:如何獲得Python來查找`libusb`? `pyusb`需要它作爲後端

>>> import usb.core 
>>> usb.core.find() 

Traceback (most recent call last): 
    File "<pyshell#83>", line 1, in <module> 
    usb.core.find() 
    File  "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/usb/core.py", line 1199, in find 
    raise ValueError('No backend available') 
ValueError: No backend available 

我試圖安裝libusb-1.0多種不同的方式,但是Python不能似乎找到任何名爲libusb的模塊。我想:

  1. 從SourceForge

    下載壓縮包
  2. 安裝BREW和使用 「BREW安裝的libusb-compat的」 和 「釀造鏈接的libusb-COMPAT」

  3. 使用sys.path.append ( 「在/ usr/local/lib目錄」),以幫助找到的Python libusb

,這是從哪裏獲得絕望:

  • 使用畫中畫 「PIP安裝的libusb」(不PIP即使庫工作?)

  • 複製的/ usr /本地/ lib,其中所述libusb-1.0.dylib和其他的內容libusb文件位於我認爲Python可能正在尋找它的各個位置。

  • 然而,當我在空閒或IPython中調用help("Modules"),沒有類似libusb顯示出來,並調用usb.core.find()不斷抱怨缺少的後端。

    如何讓Python找到libusb?它是否在help("Modules")中沒有出現,甚至與usb.core.find()有關,抱怨缺少後端?

    我已經放棄了今天的美好一天,並且讀了一個好的20 Q &沒有用。任何建議在這一點上都會非常受歡迎。另外,這是我第一次遇到的問題,所以請讓我澄清一下,如果我忽略了批判性地啓用信息或者糟糕地構建了我的問題。謝謝。

    +0

    另一個類似的問題似乎通過已經解決: _「很顯然,無論是rfcat和IPython的二進制文件指出蟒蛇錯誤的二進制文件 - 而非/ opt/local/bin目錄/ Python的改變,在vim的,而這一切運行良好。「_ 我不知道該如何嘗試,因爲我不確定要編輯哪個文件才能使iPython或IDLE指向不同的二進制文件。我也不知道它可以應該指向哪個二進制文件,但我可以通過反覆試驗來解決。 –

    +0

    你試過'brew install libusb'嗎? libusb-compat庫只是一個庫,允許爲libusb 0編寫應用程序。1使用libusb 1.0。我認爲PyUSB現在已經可以在libusb 1.0中使用了,所以它不需要像這樣的兼容層。您可能還需要使用從brew安裝的python版本,而不是使用現在使用的任何版本;我不確定。 –

    +0

    是的!我在/ usr/local/bin中的所有符號鏈接都指向python的錯誤實例(即來自tarball的實例)。我刪除了該python並刪除了brew python,清理了所有東西,然後重新安裝了brew python。一切都完美無瑕地運作!我還沒有意識到brew會創建一個新版本的Python,而不是僅僅發現已經存在的那個。 非常感謝! –

    回答

    1

    你試過brew install libusblibusb-compat庫只是一個庫,它允許爲libusb 0.1編寫的應用程序使用libusb 1.0。我認爲PyUSB現在已經可以在libusb 1.0中使用了,所以它不需要像這樣的兼容層。您可能還需要使用從brew安裝的python版本,而不是使用現在使用的任何版本;我不確定。

    +0

    是的!我在/ usr/local/bin中的所有符號鏈接都指向python的錯誤實例(即來自tarball的實例)。我刪除了該python並刪除了brew python,清理了所有東西,然後重新安裝了brew python。一切都完美無瑕地運作!我還沒有意識到brew會創建一個新版本的Python,而不是僅僅發現已經存在的那個。非常感謝! –