Импортировать Pyi (тип заглушки) в обычный модуль Python - PullRequest
0 голосов
/ 14 мая 2019

У меня есть программа (например, макрос), которая запускается в родительской программе и импортирует модуль API из этой программы (назовем ее foo).Проблема в том, что этот модуль существует только внутри этой программы, поэтому я не могу делать такие вещи, как запуск pydocmd вне программного обеспечения, потому что скрипт выдает ReferenceError.Чтобы помочь мне в разработке, я создал файл заглушки типа foo.pyi в каталоге моего проекта.То, что я хотел бы сделать, это импортировать этот тип заглушки как обычный файл Python, если импорт не удается, чтобы обеспечить фиктивные функции и свойства.Что-то вроде:

try:
  import foo
except ImportError:
  from . import foo.pyi

Однако возникает ошибка, поскольку он пытается импортировать pyi из библиотеки foo, которой нет в папке проекта.Единственный другой вариант, о котором я могу подумать, - это иметь идентичную копию файла .pyi, как, скажем, «dummy_foo.py», но тогда мне нужно сохранить две копии одного и того же файла в одном репо.Я бы предпочел не делать этого.

...