我在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提供代码完成所需的正确结构吗?
答案 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文件)。