我正在尝试编译MAVProxy,
正在运行
python mavproxy.py --master=/dev/ttyUSB0 --baudrate=57600
返回错误
追踪(最近一次呼叫最后一次):
文件“mavproxy.py”,第1151行,
mpstate = MPState()
文件“mavproxy.py”,第114行,在init
中来自MAVProxy.modules.lib.mp_settings导入MPSettings,MPSetting
ImportError:无法导入名称MPSetting
有__ init __。py
目录架构是
MAVProxy \
| - __ init __。py
| - mavproxy.py
| - (其他档案
| - modules \
|- __ init__.py |- (other files |- lib\ |- __ init__.py |- mp_settings.py
在mavproxy.py
中class MPState(object):
def __init__(self):
self.console = textconsole.SimpleConsole()
self.map = None
self.map_functions = {}
self.vehicle_type = None
self.vehicle_name = None
from MAVProxy.modules.lib.mp_settings import MPSettings, MPSetting
self.settings = MPSettings(
....
在mp_settings.py中:
#!/usr/bin/env python
class MPSetting:
....
class MPSettings(object):
....
无法导入mp_settings.py中的MPSetting, MPSettings可以成功导入。
我尝试将导入代码从内部类移到程序顶部,但仍然遇到同样的错误:
ImportError:无法导入名称MPSetting
任何建议我接下来应该尝试什么?
答案 0 :(得分:0)
mp_settings.py
可以拥有属性__all__
。也许你需要在那里加入MPSetting
。
你有循环进口吗?尝试导入文件开头的所有重要内容。
可能在模块中删除了类?
答案 1 :(得分:0)
如果我不使用sudo执行,我的mavproxy.py会出现此问题。
执行此操作可以缓解错误:n
我在RPI3上运行并按照此处的说明进行安装:http://ardupilot.github.io/MAVProxy/html/getting_started/mavbridge.html