У меня есть файл 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 не будет пытаться определить типы установленных вами сторонних библиотек, если они не объявили себя PEP Заглушка, соответствующая стандарту 561, или зарегистрировалась на типе
Я предполагал, что black
выполнило одно из этих требований, но, похоже, оно не зарегистрировано на типе . Начиная с здесь , кажется, что пакет должен иметь файл py.typed
, чтобы быть PEP 561-совместимым со встроенными аннотациями, и black
, похоже, тоже этого не имеет.
Мой вопрос остается в силе - учитывая, что информация о наборе уже есть в black
, как я могу (без необходимости, чтобы PR где-то был утвержден) получить mypy
, чтобы использовать это?
Я не вижу какие-нибудь подробности о файле py.typed
- если это всего лишь пустой файл и имеет значение только его существование, я предполагаю, что смогу создать его где-нибудь, и тогда будет работать набор текста?