PyDeV 预定义模块无法识别超过 2 级包结构
PyDeV Predefined Module Not recognized beyond 2 -level package structure
我正在以编程方式向 PyDev 中的解释器添加预定义模块。它适用于具有单层包结构的模块,但不适用于具有两层的模块。
这个有效
AAA\
|---__init__.py
|
AAA.xx.pypredef
from AAA import xx #code completion for AAA.xx.pypredef 有效
这行不通
AAA\
|----__init__.py
|
|----BBB\
| |
| |---__init__.py
|
AAA.BBB.xx.pypredef
from AAA.BBB import xx #code completion for AAA.BBB.xx.pypredef 不起作用
我也试过了
AAA\
|----__init__.py
|
|---BBB\
|---__init__.py
|
|BBB.xx.pypredef
和
AAA\
|----__init__.py
|
|---BBB\
|---__init__.py
|xx.pypredef
在所有情况下 from AAA.BBB import xx 代码完成都不起作用
W使我能够为模块 AA.BB.xx 提供代码完成所需的正确结构是什么?
我刚刚在这里检查过它和结构:
AAA\
|----__init__.py
|
|----BBB\
| |
| |---__init__.py
|
AAA.xx.pypredef
AAA.BBB.xx.pypredef
对我有用(假定 AAA、AAA.xx.pypredef 和 AAA.BBB.xx.pypredef 的父文件夹已添加到 pydev > interpreters > python interpreter > [=22 的预定义完成中=] 解释器 > 预定义)。
需要注意的一点是,如果您只是更改 .pypredef 文件,信息将不会更新...您必须转到解释器首选项页面(pydev > 解释器 > python 解释器) ,按 'apply' 和 select 应恢复哪些解释器(此时它将重新解析 .pypredef 文件)。
我正在以编程方式向 PyDev 中的解释器添加预定义模块。它适用于具有单层包结构的模块,但不适用于具有两层的模块。
这个有效
AAA\
|---__init__.py
|
AAA.xx.pypredef
from AAA import xx #code completion for AAA.xx.pypredef 有效
这行不通
AAA\
|----__init__.py
|
|----BBB\
| |
| |---__init__.py
|
AAA.BBB.xx.pypredef
from AAA.BBB import xx #code completion for AAA.BBB.xx.pypredef 不起作用
我也试过了
AAA\
|----__init__.py
|
|---BBB\
|---__init__.py
|
|BBB.xx.pypredef
和
AAA\
|----__init__.py
|
|---BBB\
|---__init__.py
|xx.pypredef
在所有情况下 from AAA.BBB import xx 代码完成都不起作用
W使我能够为模块 AA.BB.xx 提供代码完成所需的正确结构是什么?
我刚刚在这里检查过它和结构:
AAA\
|----__init__.py
|
|----BBB\
| |
| |---__init__.py
|
AAA.xx.pypredef
AAA.BBB.xx.pypredef
对我有用(假定 AAA、AAA.xx.pypredef 和 AAA.BBB.xx.pypredef 的父文件夹已添加到 pydev > interpreters > python interpreter > [=22 的预定义完成中=] 解释器 > 预定义)。
需要注意的一点是,如果您只是更改 .pypredef 文件,信息将不会更新...您必须转到解释器首选项页面(pydev > 解释器 > python 解释器) ,按 'apply' 和 select 应恢复哪些解释器(此时它将重新解析 .pypredef 文件)。