ImportError: невозможно импортировать имя «Литерал» из «ввода» - PullRequest
0 голосов
/ 14 апреля 2020

Я недавно начал использовать PEP 484 и PEP 586 , чтобы сделать мой код более понятным и доступным. Пока все было хорошо, но когда я захотел использовать Literal из пакета typing, оказалось, что его нельзя было импортировать. Что самое удивительное, PyCharm вообще не жалуется на то, что импортирует или использует его.

Код, который я хочу использовать в конце, выглядит так:

SomeVar = TypeVar("SomeVar", Literal['choice1'], Literal['choice2'], someType)

Он будет использоваться в тех случаях, когда вы можете иметь строку для описания того, что вы хотите, или уже сделанное решение, например:

def someFunc(my_var: SomeVar = 'choice1'):
    result = []
    if my_var == 'choice1':
        result.append(...)
    else:
        result = my_var
    return result

Я использую среду Anaconda с Python 3.7.7.

1 Ответ

1 голос
/ 14 апреля 2020

Как указано в документах , typing.Literal доступен только с Python 3.8 и выше.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...