我已经查看了论坛,但我没有找到具体的mavlink答案。
我目前正在python中编写脚本,我想使用mavlink的python模块。 mavlink的文档告诉我从我的mavlink文件夹运行mavgenerate.py。当我运行这个脚本时,会出现一个gui,询问我的xml文件,指定的输出目录,以及我希望我的标题所用的语言。当我选择为C创建标题时,mavgenerate.py有效,但它给了我错误:“当我尝试选择python时,尝试在非包中进行相对导入。 我的xml文件位于:
C:\ Python27 \ mavlink \ message_definitions \ V1.0
我的python模块输出目录为:
C:\ Python27 \ mavlink \ pymavlink \包括
下面的是我的错误的屏幕截图。
谁能告诉我我做错了什么?
答案 0 :(得分:0)
这是一个相当古老的问题,但我刚刚遇到过这个问题。我已应用的解决方案是:在mavgenerate.py中替换以下行
sys.path.append(os.path.join('pymavlink','generator'))
from mavgen import *
与
from pymavlink.generator.mavgen import *
我不知道问题的确切原因,但是来自 this线程我认为问题在于python将目录解释为包。
我使用过python 2.7。尝试使用python 3.4,但没有机会。