0

我在 folder2 试图执行trigger.py

我用了:

from ..folder1.subfolder1.function1 import *
from ..folder1.test.py

在没有已知父包的情况下尝试相对导入时出错

在此处输入图像描述

4

1 回答 1

0

如果您用完了folder2,那么出于所有实际目的,trigger.py它本身就是一个模块,而不是包层次结构的一部分,并且不能使用相对导入folder1(因为它们不相关)。

如果可以,请将您的工作目录设为 的父目录Project,并使用以下命令调用您的脚本:

python3 -m Project.folder2.trigger

它通过导入语法将模块作为主要入口点运行,而不会丢失有关包结构的信息。

如果整个项目实际安装到 system 或 user site-packages,则您的工作目录无关紧要(仅当它不是sys.path自动安装时才需要,因为工作目录本身包含在 中sys.path),并且调用将在任何地方工作。

于 2020-02-21T16:35:33.520 回答