我已经浏览了论坛,但我还没有找到特定于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\include
下面是我的错误的截图。

有人能告诉我我哪里做错了吗?
发布于 2014-07-03 19:50:16
这是一个相当古老的问题,但我刚刚遇到了这个问题。我应用的解决方案是:在mavgenerate.py中替换以下行
sys.path.append(os.path.join('pymavlink','generator'))
from mavgen import *使用
from pymavlink.generator.mavgen import *我不知道问题的确切原因,但从Python线程中,我认为问题出在this将目录解释为包。
我用过python 2.7。虽然我尝试过使用python 3.4,但是没有机会。
https://stackoverflow.com/questions/24191318
复制相似问题