将pyi(类型存根文件)导入到普通的python模块中

时间:2019-05-14 16:10:10

标签: python import python-import stub pyi

我有一个程序(如宏),该程序在父程序中运行并从该程序导入API模块(将其称为foo)。问题在于该模块仅存在于该程序中,因此我无法做类似在软件外部运行pydocmd的操作,因为脚本会引发ReferenceError。为了帮助我自己进行开发,我在项目目录中创建了一个类型存根文件foo.pyi。我想做的是,如果导入失败,则将类型存根导入为普通的Python文件,以提供伪函数和属性。像这样:

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

但是,这会引发错误,因为它试图从项目文件夹中不存在的pyi库中导入foo。我能想到的唯一其他选择是将.pyi文件复制为“ dummy_foo.py”,但随后我必须在一个存储库中维护同一文件的两个副本。我宁愿不这样做。

0 个答案:

没有答案