Как заставить Mypy для распознавания пакета файла `-stubs`Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Как заставить Mypy для распознавания пакета файла `-stubs`

Сообщение Anonymous »

Вот моя структура папок: < /p>

Код: Выделить всё

.
├── foo
│   ├── __init__.py
│   └── classic.py
├── foo-stubs
│   ├── __init__.pyi
│   └── classic.pyi
├── pyproject.toml
└── t.py
< /code>
Содержание: < /p>
$ cat foo/__init__.py
from foo.classic import my_func

$ cat foo/classic.py
def my_func(a):
return 3

$ cat foo-stubs/__init__.pyi
from typing import Any
from foo.classic import my_func

__all__ = ['my_func']

$ cat foo-stubs/classic.pyi
from typing import Any

def my_func(a: Any) -> int: ...

$ cat pyproject.toml
[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"

[project]
name = "foo"
version = "0.1.0"
requires-python = ">=3.9"
Затем, в t.py , я пишу

Код: Выделить всё

from foo import my_func

reveal_type(my_func)
Если я запускаю mypy t.py , я получаю:

Код: Выделить всё

t.py:3: note: Revealed type is "def (a: Any) -> Any"
Success: no issues found in 1 source file
< /code>
но ... почему? Разве это не должно быть обнаружено как def (a: ance) -> buldins.int 
? Мой вопрос конкретно о том, как решить эту проблему с помощью каталога -stubs , который упоминается как стратегия на https://typing.python.org/en/latest/spe ... y-packages кар/>
, однако, не может быть поставлен в зависимости от STUBSUREDEDELEVERTELEVERCEUDEDELEVERICELICTIBUTELEVERICELICTICEBRIBUTELENTELEVELICELEVELICELICELIGEDELED. Третьи стороны также могут найти этот метод полезным, если они хотят распространять файлы STUB. Имя пакета STUB должно следовать схеме Foopkg-Stubs для типовых заглушек для пакета с именем foopkg.


Подробнее здесь: https://stackoverflow.com/questions/796 ... bs-package
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Как заставить Mypy для распознавания пакета файла `-stubs`
    Anonymous » » в форуме Python
    0 Ответы
    3 Просмотры
    Последнее сообщение Anonymous
  • Как заставить Mypy для распознавания пакета файла `-stubs`
    Anonymous » » в форуме Python
    0 Ответы
    8 Просмотры
    Последнее сообщение Anonymous
  • Как заставить Mypy для распознавания пакета файла `-stubs`
    Anonymous » » в форуме Python
    0 Ответы
    4 Просмотры
    Последнее сообщение Anonymous
  • Как заставить Mypy для распознавания пакета файла `-stubs`
    Anonymous » » в форуме Python
    0 Ответы
    8 Просмотры
    Последнее сообщение Anonymous
  • Как я могу использовать Mypy с шаблонами cookiecutter? Mypy выдает ошибку «недопустимое имя пакета Python»
    Anonymous » » в форуме Python
    0 Ответы
    53 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Python»