Check minimum python version before launching (#5795)

* Check minimum python version before launching

* Add link to docs
This commit is contained in:
Oliver 2023-10-26 21:45:23 +11:00 committed by GitHub
parent b5bd45d891
commit 2ff2c0801a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 25 additions and 1 deletions

View File

@ -26,10 +26,12 @@ from dotenv import load_dotenv
from InvenTree.config import get_boolean_setting, get_custom_file, get_setting
from InvenTree.sentry import default_sentry_dsn, init_sentry
from InvenTree.version import inventreeApiVersion
from InvenTree.version import checkMinPythonVersion, inventreeApiVersion
from . import config
checkMinPythonVersion()
INVENTREE_NEWS_URL = 'https://inventree.org/news/feed.atom'
# Determine if we are running in "test" mode e.g. "manage.py test"

View File

@ -7,6 +7,7 @@ import os
import pathlib
import platform
import re
import sys
from datetime import datetime as dt
from datetime import timedelta as td
@ -28,6 +29,27 @@ except (NotGitRepository, FileNotFoundError):
main_commit = None
def checkMinPythonVersion():
"""Check that the Python version is at least 3.9"""
version = sys.version.split(" ")[0]
docs = "https://docs.inventree.org/en/stable/start/intro/#python-requirements"
msg = f"""
InvenTree requires Python 3.9 or above - you are running version {version}.
- Refer to the InvenTree documentation for more information:
- {docs}
"""
if sys.version_info.major < 3:
raise RuntimeError(msg)
if sys.version_info.major == 3 and sys.version_info.minor < 9:
raise RuntimeError(msg)
print(f"Python version {version} - {sys.executable}")
def inventreeInstanceName():
"""Returns the InstanceName settings for the current database."""
import common.models