У меня есть программа (например, макрос), которая запускается в родительской программе и импортирует модуль API из этой программы (назовем ее foo
).Проблема в том, что этот модуль существует только внутри этой программы, поэтому я не могу делать такие вещи, как запуск pydocmd вне программного обеспечения, потому что скрипт выдает ReferenceError.Чтобы помочь мне в разработке, я создал файл заглушки типа foo.pyi
в каталоге моего проекта.То, что я хотел бы сделать, это импортировать этот тип заглушки как обычный файл Python, если импорт не удается, чтобы обеспечить фиктивные функции и свойства.Что-то вроде:
try:
import foo
except ImportError:
from . import foo.pyi
Однако возникает ошибка, поскольку он пытается импортировать pyi
из библиотеки foo
, которой нет в папке проекта.Единственный другой вариант, о котором я могу подумать, - это иметь идентичную копию файла .pyi, как, скажем, «dummy_foo.py», но тогда мне нужно сохранить две копии одного и того же файла в одном репо.Я бы предпочел не делать этого.