如何让 Python 找到 `libusb`? `pyusb` 需要它作为后端
How does one get Python to find `libusb`? `pyusb` needs it for a backend
我正在尝试使用 Python 2.7 和 PyUSB 与 National Instruments DAQ 板通信。我使用的是 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
的模块。我试过了:
正在从 SourceForge 下载 tarball
安装 brew 并使用 "brew install libusb-compat" 和 "brew link libusb-compat"
使用 sys.path.append("/usr/local/lib") 帮助 Python 找到 libusb
这就是我绝望的地方:
使用 pip 到 "pip install libusb"(pip 甚至可以与库一起使用吗?)
正在将 /usr/local/lib 的内容复制到 libusb-1.0.dylib
和其他 libusb
文件所在的不同位置,我认为 Python 可能正在查找为此。
然而,当我在 IDLE 或 iPython 中调用 help("Modules")
时,没有任何类似 libusb
的东西出现并且调用 usb.core.find() 继续抱怨缺少后端。
如何让 Python 找到 libusb
?它没有出现在 help("Modules")
中甚至与 usb.core.find() 抱怨缺少后端有关吗?
到目前为止,我在这方面度过了愉快的一天,并阅读了 20 篇不错的问答,但无济于事。在这一点上,任何建议都将非常受欢迎。此外,这是我对 Whosebug 提出的第一个问题,所以请让我澄清一下我是否遗漏了重要的启用信息或问题结构不当。谢谢。
你试过了吗brew install libusb
? libusb-compat
库只是一个允许为 libusb 0.1 编写的应用程序与 libusb 1.0 一起工作的库。我认为 PyUSB 这些天已经可以与 libusb 1.0 一起使用了,所以它不需要像那样的一些兼容层。您可能还需要使用从 brew 安装的 python 版本,而不是使用您现在使用的任何版本;我不确定。
我正在尝试使用 Python 2.7 和 PyUSB 与 National Instruments DAQ 板通信。我使用的是 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
的模块。我试过了:
正在从 SourceForge 下载 tarball
安装 brew 并使用 "brew install libusb-compat" 和 "brew link libusb-compat"
使用 sys.path.append("/usr/local/lib") 帮助 Python 找到
libusb
这就是我绝望的地方:
使用 pip 到 "pip install libusb"(pip 甚至可以与库一起使用吗?)
正在将 /usr/local/lib 的内容复制到
libusb-1.0.dylib
和其他libusb
文件所在的不同位置,我认为 Python 可能正在查找为此。
然而,当我在 IDLE 或 iPython 中调用 help("Modules")
时,没有任何类似 libusb
的东西出现并且调用 usb.core.find() 继续抱怨缺少后端。
如何让 Python 找到 libusb
?它没有出现在 help("Modules")
中甚至与 usb.core.find() 抱怨缺少后端有关吗?
到目前为止,我在这方面度过了愉快的一天,并阅读了 20 篇不错的问答,但无济于事。在这一点上,任何建议都将非常受欢迎。此外,这是我对 Whosebug 提出的第一个问题,所以请让我澄清一下我是否遗漏了重要的启用信息或问题结构不当。谢谢。
你试过了吗brew install libusb
? libusb-compat
库只是一个允许为 libusb 0.1 编写的应用程序与 libusb 1.0 一起工作的库。我认为 PyUSB 这些天已经可以与 libusb 1.0 一起使用了,所以它不需要像那样的一些兼容层。您可能还需要使用从 brew 安装的 python 版本,而不是使用您现在使用的任何版本;我不确定。