Если у вас заканчивается folder2
, то для всех практических целей trigger.py
является самостоятельным модулем, а не частью иерархии пакетов и не может использовать относительный импорт в folder1
(поскольку они не связаны).
Если вы можете, сделайте ваш рабочий каталог родительским каталогом Project
и вызовите ваш скрипт с:
python3 -m Project.folder2.trigger
, который запускает модуль в качестве основного точка входа через синтаксис импорта, без потери информации о структуре пакета.
Если весь проект фактически установлен в систему или пользователю site-packages
, ваш рабочий каталог не будет иметь значения (он необходим только в том случае, если он не в sys.path
автоматически, поскольку сам рабочий каталог включен в sys.path
), и вызов будет работать где угодно.