Python 3.14+concurrent.interpretersисключение
concurrent.interpreters.InterpreterNotFoundError
исключения
Целевой субинтерпретатор больше не существует — закрыт через close() или указан неизвестный id (Python 3.14+); подкласс InterpreterError.
Синтаксис
raise concurrent.interpreters.InterpreterNotFoundError
Обычная причина — вы держите объект Interpreter после close() или обращаетесь по id, за которым уже ничего нет; любой exec() или call() по такому хендлу упадёт именно этим исключением. Повторять попытку бессмысленно: интерпретатор не воскреснет, нужно создавать новый через create(). Если ловите его вместе с прочими ошибками, ставьте его выше InterpreterError в цепочке except — иначе базовый класс перехватит первым.
Примеры
from concurrent import interpreters # Python 3.14+
print(issubclass(interpreters.InterpreterNotFoundError, interpreters.InterpreterError)) # → True
interp = interpreters.create()
interp.exec('x = 1')
interp.close()
try:
interp.exec('x = 2') # интерпретатор уже уничтожен
except interpreters.InterpreterNotFoundError as e:
print(type(e).__name__) # → InterpreterNotFoundError
try:
interpreters.Interpreter(999999) # такого id не существует
except interpreters.InterpreterNotFoundError:
print('нет такого интерпретатора') # → нет такого интерпретатора
См. также
Открыть в полном глоссарииdocs.python.orgСообщить о неточности