2
0
mirror of https://github.com/inventree/InvenTree.git synced 2025-04-30 20:46:47 +00:00

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.config import get_boolean_setting, get_custom_file, get_setting
from InvenTree.sentry import default_sentry_dsn, init_sentry from InvenTree.sentry import default_sentry_dsn, init_sentry
from InvenTree.version import inventreeApiVersion from InvenTree.version import checkMinPythonVersion, inventreeApiVersion
from . import config from . import config
checkMinPythonVersion()
INVENTREE_NEWS_URL = 'https://inventree.org/news/feed.atom' INVENTREE_NEWS_URL = 'https://inventree.org/news/feed.atom'
# Determine if we are running in "test" mode e.g. "manage.py test" # Determine if we are running in "test" mode e.g. "manage.py test"

View File

@ -7,6 +7,7 @@ import os
import pathlib import pathlib
import platform import platform
import re import re
import sys
from datetime import datetime as dt from datetime import datetime as dt
from datetime import timedelta as td from datetime import timedelta as td
@ -28,6 +29,27 @@ except (NotGitRepository, FileNotFoundError):
main_commit = None 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(): def inventreeInstanceName():
"""Returns the InstanceName settings for the current database.""" """Returns the InstanceName settings for the current database."""
import common.models import common.models