Python 相对导入随机失败



在 main.py 旁边,我有一个包含更多.py文件的文件夹。我想在 main.py 以及这些文件的其他文件中导入这些文件。 在 main.py

from folder import file1, file2

到目前为止有效(尽管它确实失败了一次IIRC(。 在其他文件中都不是

from . import file3
import file3
from folder import file3

始终如一地工作。到目前为止,我尝试了:

import folder #in main.py or the other files
import sys
sys.path.append("/folder") #in main.py

并添加一个init.py(显然带有下划线,而不是粗体(,这在 python3 和其他一些我忘记的事情中应该是不必要的。每当我更改任何内容时,导入通常会工作一两次,然后再次失败

builtins.SystemError: Parent module '' not loaded, cannot perform relative import

我尝试过的大多数事情,我在SO的类似问题中读到过,所以是的,我知道它们。正如我所说,这些都不起作用。 我还没有尝试过的一件事(尽管它可能有效(是创建一个链接列表目录布局(因为我想避免

from folder.folder.folder.folder.folder.folder.folder.folder.folder import file

另外,我有信心但还不确定我永远不需要交叉导入

问题是,在将其他 IDE 与其他语言一起使用后,我希望 wing 在按 F5 时执行 main.py,就像其他 IDE 一样。Wing执行了我上次编辑的任何文件。

因此,当我编辑 main.py 以使导入工作时,他们做到了。然后,当错误的脚本在其他地方失败并且我修复了一些东西时,导入将停止工作。

在按 F5 之前始终在 main.py 中添加和删除空格解决了这个问题(但可能有一个更优雅的解决方案(

最新更新