Как заставить Python найти `libusb`? `pyusb` нужен для бэкэнда

Я пытаюсь использовать Python 2.7 с PyUSB для общения с платой DAQ National Instruments. Я использую MacBook Pro и использую Yosemite 10.10.4. Я смог установить Python и пакет PyUSB без каких-либо явных проблем, но когда я пытаюсь использовать 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 install libusb-compat" и "brew link libusb-compat"

  3. использование sys.path.append("/usr/local/lib"), чтобы помочь Python найти libusb

и вот тут я впадаю в отчаяние

  1. Использование pip для установки pip libusb (pip работает даже с библиотеками?)

  2. Копирование содержимого / usr / local / lib, где libusb-1.0.dylib и другие libusb файлы расположены в разных местах, где я думал, что Python может искать его.

Тем не менее, когда я звоню help("Modules") ни в IDLE, ни в iPython ничего похожего libusb Появляется и вызывает usb.core.find() продолжают жаловаться на отсутствующий Backend.

Как найти Python для поиска libusb? Тот факт, что это не проявляется в help("Modules") даже связанные с usb.core.find() жалуются на отсутствие Backend?

До сих пор я провел хороший день и прочитал хорошие 20 вопросов и ответов безрезультатно. Любой совет был бы весьма желателен в этом пункте. Кроме того, это мой первый вопрос для stackru, поэтому, пожалуйста, попросите меня уточнить, если я пропустил критически важную информацию или плохо структурировал свой вопрос. Благодарю.

1 ответ

Решение

Ты пробовал brew install libusb? libusb-compat библиотека - это просто библиотека, которая позволяет приложениям, написанным для libusb 0.1, работать с libusb 1.0. Я думаю, что PyUSB уже будет работать с libusb 1.0, поэтому ему не понадобится такой уровень совместимости. Вам также может понадобиться использовать версию python, установленную из brew, вместо использования той версии, которую вы используете сейчас; Я не уверен.

Другие вопросы по тегам