Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/307.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
nxt python错误:usb.core.NoBackendError_Python_Mindstorms_Nxt Python - Fatal编程技术网

nxt python错误:usb.core.NoBackendError

nxt python错误:usb.core.NoBackendError,python,mindstorms,nxt-python,Python,Mindstorms,Nxt Python,我的系统上安装了Python 2和Python 3 我运行以下脚本: #!/usr/bin/env python import nxt.locator from nxt.motor import * def spin_around(b): m_left = Motor(b, PORT_B) m_left.turn(100, 360) m_right = Motor(b, PORT_C) m_right.turn(-100, 360) b = nxt.loca

我的系统上安装了Python 2和Python 3

我运行以下脚本:

#!/usr/bin/env python

import nxt.locator
from nxt.motor import *

def spin_around(b):
    m_left = Motor(b, PORT_B)
    m_left.turn(100, 360)
    m_right = Motor(b, PORT_C)
    m_right.turn(-100, 360)

b = nxt.locator.find_one_brick()
spin_around(b)
使用命令:
pythonspin.py
,该命令使用python2,正如预期的那样

但是,当我运行此命令时,会出现以下错误:

Traceback (most recent call last):
  File "spin.py", line 12, in <module>
    b = nxt.locator.find_one_brick()
  File "/Library/Python/2.7/site-packages/nxt/locator.py", line 112, in find_one_brick
    for s in find_bricks(host, name, silent, method):
  File "/Library/Python/2.7/site-packages/nxt/locator.py", line 43, in find_bricks
    for s in socks:
  File "/Library/Python/2.7/site-packages/nxt/usbsock.py", line 84, in find_bricks
    for bus in usb.busses():
  File "/Library/Python/2.7/site-packages/usb/legacy.py", line 353, in busses
    sorted(core.find(find_all=True), key=lambda d: d.bus),
  File "/Library/Python/2.7/site-packages/usb/core.py", line 1263, in find
    raise NoBackendError('No backend available')
usb.core.NoBackendError: No backend available
回溯(最近一次呼叫最后一次):
文件“spin.py”,第12行,在
b=nxt.locator.find_one_brick()
文件“/Library/Python/2.7/site packages/nxt/locator.py”,第112行,在find_one_brick中
对于find_bricks中的s(主机、名称、静默、方法):
文件“/Library/Python/2.7/site packages/nxt/locator.py”,第43行,在find_bricks中
对于穿袜子的人:
文件“/Library/Python/2.7/site packages/nxt/usbsock.py”,第84行,在find_bricks中
对于usb中的总线。总线()
文件“/Library/Python/2.7/site packages/usb/legacy.py”,第353行,总线中
排序(core.find(find_all=True),key=lambda d:d.bus),
文件“/Library/Python/2.7/site packages/usb/core.py”,第1263行,在find中
引发NoBackendError('没有可用的后端')
usb.core.NoBackendError:没有可用的后端
当我运行此脚本时,我的NXT通过USB插入我的计算机,并且我的NXT处于打开状态。此外,我还安装了pyUSB(我认为是正确的)


为什么会发生此错误?

解决方案是安装libUSB。pyUSB库似乎在后台依赖于libUSB

我使用
brew安装libUSB

之后,这个特定的错误被修复了