我似乎间歇性地遇到这个问题。
有时我有一个 PyDev 项目,如果我尝试使用顶级文件夹的名称开始导入,我会在其中遇到编译错误。所以,假设我的项目是这样的:
+ myproject
- __init__.py
- a.py
- b.py
+ package1
- c.py
- __init__.py
+ package2
- d.py
- e.py
- __init__.py
如果我在文件 a.py 中,它不会让我做这样的导入,例如:
from myproject.b import foo
import myproject.b
任何文件都是如此。如果我像这样从导入语句中删除“myproject”,它们都编译得很好:
from b import foo
import b
就像图中一样,我肯定有一个顶级 __init__.py,并且 myproject 文件夹及其父文件夹都在 Python 路径上。myproject 文件夹也是项目的源文件夹。
我需要完整的导入语句,因为我要部署此代码的地方不会在其路径上包含 myproject 文件夹。其他一些似乎配置相同的项目没有这个问题,我已经尝试过通常的清理/重启。
知道这里发生了什么吗?
谢谢!