Merge pull request #3852 from count-infinity/bug-3851-3844-versions

Fix distutils error for new Python3.12+ projects, Fix Django versioning
This commit is contained in:
Griatch 2025-12-18 11:56:57 +01:00 committed by GitHub
commit c7bf5f1444
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -20,7 +20,7 @@ import shutil
import signal import signal
import sys import sys
from argparse import ArgumentParser from argparse import ArgumentParser
from distutils.version import LooseVersion from packaging.version import Version
from subprocess import STDOUT, CalledProcessError, Popen, call, check_output from subprocess import STDOUT, CalledProcessError, Popen, call, check_output
import django import django
@ -1265,9 +1265,9 @@ def check_main_evennia_dependencies():
def _test_python_version(): def _test_python_version():
"""Test Python version""" """Test Python version"""
python_version = ".".join(str(num) for num in sys.version_info if isinstance(num, int)) python_version = ".".join(str(num) for num in sys.version_info if isinstance(num, int))
python_curr = LooseVersion(python_version) python_curr = Version(python_version)
python_min = LooseVersion(PYTHON_MIN) python_min = Version(PYTHON_MIN)
python_max = LooseVersion(PYTHON_MAX_TESTED) python_max = Version(PYTHON_MAX_TESTED)
if python_curr < python_min: if python_curr < python_min:
print(ERROR_PYTHON_VERSION.format(python_version=python_version, python_min=PYTHON_MIN)) print(ERROR_PYTHON_VERSION.format(python_version=python_version, python_min=PYTHON_MIN))
@ -1291,8 +1291,8 @@ def check_main_evennia_dependencies():
return False return False
else: else:
twisted_version = twisted.version.short() twisted_version = twisted.version.short()
twisted_curr = LooseVersion(twisted_version) twisted_curr = Version(twisted_version)
twisted_min = LooseVersion(TWISTED_MIN) twisted_min = Version(TWISTED_MIN)
if twisted_curr < twisted_min: if twisted_curr < twisted_min:
print( print(
@ -1313,11 +1313,9 @@ def check_main_evennia_dependencies():
return False return False
else: else:
django_version = ".".join(str(num) for num in django.VERSION if isinstance(num, int)) django_version = ".".join(str(num) for num in django.VERSION if isinstance(num, int))
# only the main version (1.5, not 1.5.4.0) django_curr = Version(django_version)
django_version = ".".join(django_version.split(".")[:2]) django_min = Version(DJANGO_MIN)
django_curr = LooseVersion(django_version) django_max = Version(DJANGO_MAX_TESTED)
django_min = LooseVersion(DJANGO_MIN)
django_max = LooseVersion(DJANGO_MAX_TESTED)
if django_curr < django_min: if django_curr < django_min:
print( print(