У меня есть сценарий Python, в котором используется синтаксис Python версии 2.6 (кроме ошибки как значение : ), на который жалуется версия 2.5. Поэтому в свой сценарий я включил некоторый код для проверки версии интерпретатора Python перед тем, как продолжить, чтобы пользователь не столкнулся с неприятной ошибкой, однако, где бы я ни разместил этот код, он не работает. Как только он обнаруживает странный синтаксис, он выдает синтаксическую ошибку, игнорируя любые мои попытки проверки версии.
Я знаю, что могу просто поместить блок try / except в область, в которой возникает SyntaxError, и сгенерировать там сообщение, но мне интересно, есть ли более «элегантный» способ. Поскольку я не очень заинтересован в размещении блоков try / except по всему моему коду для решения проблемы с версией. Я изучал возможность использования файла __ init__.py, но пользователь не будет импортировать / использовать мой код в качестве пакета, поэтому я не думаю, что этот маршрут будет работать, если только я чего-то не упустил ...
Здесь это мой код проверки версии:
import sys
def isPythonVersion(version):
if float(sys.version[:3]) >= version:
return True
else:
return False
if not isPythonVersion(2.6):
print "You are running Python version", sys.version[:3], ", version 2.6 or 2.7 is required. Please update. Aborting..."
exit()