我有一个test.py
只包含行的文件import black
。当我运行时mypy test.py
,我收到以下错误:
test.py:1: error: Skipping analyzing 'black': found module but no type hints or library stubs
test.py:1: note: See https://mypy.readthedocs.io/en/latest/running_mypy.html#missing-imports
Found 1 error in 1 file (checked 1 source file)
但是,当我查看 的来源时black
,似乎所有内容都有类型提示。我需要做些什么不同的事情mypy
才能让它在我导入时使用类型提示black
?
环境设置:
conda create -n test python=3.7 -y
conda activate test
pip install black mypy
编辑 - 从错误消息中提到的链接:
Mypy 不会尝试推断您已安装的任何 3rd 方库的类型,除非它们已声明自己是符合 PEP 561 的存根包或已在 typeshed 上注册自己
我假设black
已经满足其中一项要求,但它似乎没有在typeshed上注册。从这里开始,似乎一个包必须有一个py.typed
符合 PEP 561 并带有内联注释的文件,而且black
似乎也没有。
我的问题仍然存在 - 鉴于输入信息已经存在black
,我如何(无需在某处获得 PR 批准)mypy
使用它?
我没有看到有关该py.typed
文件的任何详细信息 - 如果这只是一个空文件并且只有它的存在很重要,我假设我可以在某处创建它然后输入会起作用吗?