Я написал программу, которая требует Python 3 (мы не будем поддерживать Python 2), но я хотел бы включить сообщение об ошибке, информирующее пользователя об этом, если он случайно запустит файл .py в Python2.
Я попытался сделать это, используя проверку версии в первых нескольких строках файла:
import sys
if not sys.version_info[0] == 3:
sys.exit('You need to run this with Python 3')
# Lots of other code here....
# And then...
foo = 2
bar = 3
print(f"Some message that uses f-strings like this: variables are {foo} {bar}")
Однако, когда файл .py фактически запускается с использованием Python 2, он возвращает синтаксическую ошибку в строке, используя f-строки. Это не очень легко понять.
Есть ли способ заставить программу провалиться при проверке версии и, таким образом, вернуть более полезное сообщение об ошибке?
Спасибо