proj1
|__ py1.py
|__ py2.py
pkg
|__ __init__.py
|__ comm_f1.py
|__mod1
| |__ __init__.py
| |__ f1.py
| |__ f2.py
|__mod2
| |__ __init__.py
| |__ f3.py
| |__ f4.py
我知道有一些类似的问题,但是我的看起来有点不同。 我有上面的项目和包目录。 'pkg'目录包含一些基本功能和类,我将用于我的项目'proj1'或'proj2'等,这样我就不想在'proj1'下面保留'pkg'。我用VS2015调试'proj1',告诉它参考'pkg'目录,它工作得很好。但是现在我创建了comm_f1.py,它有一些常见的功能/类,我相信可以使用不同的子模块,如'mod1'和'mod2'等,例如,在f3.py中我想从comm_f1中导入我的类使用:python从不同目录导入 - '尝试相对导入超出顶级包'
from ..comm_f1 import myclass
它给我的错误信息“试图相对进口超出顶层包” 我怎么能完美地解决这个问题呢?我不想让'pkg'的名字(或绝对目录路径名称与'pkg'),因为我可能会改变'pkg'的名称,我想因为comm_f1.py只在f3.py的父级目录,它没有必要必要去碰它的盛大父母“PKG”