这是我第一次在stackoverflow上提问。我找过答案,但没有找到清晰明了的答案。这是我的情况:我有一个类似这样的结构:
myapp
package/
__init.py__
main.py
mod1.py
mod2.py
现在,在这种情况下,我从main.py导入mod1.py,而mod1.py也需要被mod2.py导入。一切都很顺利,我的导入看起来像这样:
main.py:
from mod1 import Class1
mod2.py:
from mod1 import Class1
然而,我需要将我的main.py移动到主文件夹结构中,就像这样:
myapp
main.py
package/
__init.py__
mod1.py
mod2.py
现在需要做的是,在main.py中导入mod1的方式必须进行更改:
from package.mod1 import Class1
然而,为了避免出现“ImportError: No module named 'mod1'”的错误,我需要在mod2.py中做出同样的更改:
from package.mod1 import Class1
为什么会这样呢?mod2与mod1在同一文件夹/包中,因此为什么修改main.py后,我需要修改mod2内部的导入语句呢?
from .mod1 import mod2
吗? - Jean-François Fabre