【发布时间】:2020-06-05 12:35:51
【问题描述】:
我在 folder2 试图执行 trigger.py
我用过:
from ..folder1.subfolder1.function1 import *
from ..folder1.test.py
在没有已知父包的情况下尝试相对导入时出错
【问题讨论】:
-
如何运行代码?
标签: python python-3.x relative-import
我在 folder2 试图执行 trigger.py
我用过:
from ..folder1.subfolder1.function1 import *
from ..folder1.test.py
在没有已知父包的情况下尝试相对导入时出错
【问题讨论】:
标签: python python-3.x relative-import
如果您用完了folder2,那么出于所有实际目的,trigger.py 本身就是一个模块,而不是包层次结构的一部分,并且不能使用对folder1 的相对导入(因为它们无关)。
如果可以,请将您的工作目录设为Project 的父目录,并使用以下命令调用您的脚本:
python3 -m Project.folder2.trigger
通过导入语法将模块作为主入口点运行,而不会丢失包结构的信息。
如果整个项目实际安装到系统或用户site-packages,你的工作目录就无关紧要了(只有当它不在sys.path中时才需要,因为工作目录本身包含在sys.path中) ,并且调用将在任何地方工作。
【讨论】: