Задать вопрос
@BJlaDuMup

Python3.9 TypeError: Callable[[arg, ...], result]: each arg must be a type. Got Ellipsis?

Код работал на другой машине, там python3.8
Когда запускаю на python3.9 вылезает такая ошибка:

mytype = Callable[[InlineKeyboardMarkup, ...], int]

File "C:\Python39\lib\typing.py", line 829, in __getitem__
return self.__getitem_inner__(params)
File "C:\Python39\lib\typing.py", line 243, in inner
return func(*args, **kwds)
File "C:\Python39\lib\typing.py", line 839, in __getitem_inner__
args = tuple(_type_check(arg, msg) for arg in args)
File "C:\Python39\lib\typing.py", line 839, in
args = tuple(_type_check(arg, msg) for arg in args)
File "C:\Python39\lib\typing.py", line 151, in _type_check
raise TypeError(f"{msg} Got {arg!r:.100}.")
TypeError: Callable[[arg, ...], result]: each arg must be a type. Got Ellipsis.
  • Вопрос задан
  • 527 просмотров
Подписаться 1 Простой Комментировать
Пригласить эксперта
Ответы на вопрос 1
tumbler
@tumbler Куратор тега Python
бекенд-разработчик на python
Callable[..., result]

Либо так, либо использовать протокол (класс с методом __call__ у которого нужная сигнатура). Третий вариант - подождать Python-3.10, там вроде ParamSpec появится, может получится его использовать.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы