diff --git a/meson.py b/meson.py index dab08d3a8..89352a39c 100755 --- a/meson.py +++ b/meson.py @@ -15,6 +15,15 @@ # limitations under the License. import sys + +# Check python version before importing anything else, we might have an older +# Python that would error on f-string syntax for example. +if sys.version_info < (3, 7): + print('Meson works correctly only with python 3.7+.') + print('You have python {}.'.format(sys.version)) + print('Please update your environment') + sys.exit(1) + from pathlib import Path # If we're run uninstalled, add the script directory to sys.path to ensure that diff --git a/mesonbuild/mesonmain.py b/mesonbuild/mesonmain.py index 5e8cebdbd..4ca4a96eb 100644 --- a/mesonbuild/mesonmain.py +++ b/mesonbuild/mesonmain.py @@ -209,12 +209,6 @@ def ensure_stdout_accepts_unicode(): sys.stdout.reconfigure(errors='surrogateescape') def run(original_args, mainfile): - if sys.version_info < (3, 7): - print('Meson works correctly only with python 3.7+.') - print(f'You have python {sys.version}.') - print('Please update your environment') - return 1 - if sys.version_info >= (3, 10) and os.environ.get('MESON_RUNNING_IN_PROJECT_TESTS'): # workaround for https://bugs.python.org/issue34624 import warnings