PyDeV预定义模块超出2级包结构无法识别

时间:2016-01-06 22:27:09

标签: python eclipse-rcp pydev

我在PyDev中以编程方式将预定义模块添加到我的解释器中。它适用于具有单级包结构的模块,但不适用于具有两个级别的模块。

这有效

AAA\
  |---__init__.py
  |
AAA.xx.pypredef

来自AAA导入xx #code完成AAA.xx.pypredef工作

这不起作用

AAA\
  |----__init__.py
  |
  |----BBB\
  |      |
  |      |---__init__.py
  |
AAA.BBB.xx.pypredef 

来自AAA.BBB导入xx #code完成AAA.BBB.xx.pypredef不起作用

我也试过

AAA\
  |----__init__.py
  |
  |---BBB\
        |---__init__.py
  |
  |BBB.xx.pypredef

AAA\
  |----__init__.py
  |
  |---BBB\
        |---__init__.py
        |xx.pypredef 

在所有情况下,从AAA.BBB导入xx代码完成不起作用

WWhat是使我能够为模块AA.BB.xx提供代码完成所需的正确结构吗?

1 个答案:

答案 0 :(得分:1)

我刚刚在这里检查了结构:

AAA\

  |----__init__.py
  |
  |----BBB\
  |      |
  |      |---__init__.py
  |
AAA.xx.pypredef 
AAA.BBB.xx.pypredef 

对我有用(假设AAA的父文件夹,AAA.xx.pypredef和AAA.BBB.xx.pypredef被添加到pydev>解释器的预定义完成中> python interpreter> select interpreter>预定义的)。

需要注意的一点是,如果您只是更改.pypredef文件,则不会更新信息...您必须转到解释器首选项页面(pydev> interpreters> python interpreter),按'应用'并选择应该恢复哪些解释器(此时它将重新解析.pypredef文件)。