我在folder2中,试图执行 trigger.py
我用过:
from ..folder1.subfolder1.function1 import *
from ..folder1.test.py
在没有已知父程序包的情况下尝试导入相对错误
答案 0 :(得分:0)
如果您用尽了folder2
,那么出于所有实际目的,trigger.py
本身就是一个模块,不是包层次结构的一部分,并且不能使用相对导入{ {1}}(因为它们不相关)。
如果可以的话,将工作目录设为folder1
的父目录,并使用以下命令调用脚本:
Project
通过导入语法将模块作为主要入口点运行,而不会丢失程序包结构上的信息。
如果整个项目实际上都已安装到系统或用户python3 -m Project.folder2.trigger
中,那么您的工作目录就无关紧要了(仅当它不在site-packages
中时才需要它,因为工作目录本身包含在其中) sys.path
),该调用将在任何地方进行。