Import StrictVersion and LooseVersion from setuptools.distutils.verison or setuptools._distutils.version, if first not available

This commit is contained in:
David Murphy 2022-12-20 17:44:03 -07:00
parent e2ea857a57
commit fd875b2521
No known key found for this signature in database
GPG key ID: 2A0B9ABC42BBA5E9
3 changed files with 35 additions and 8 deletions

1
changelog/63350.fixed Normal file
View file

@ -0,0 +1 @@
Import StrictVersion and LooseVersion from setuptools.distutils.verison or setuptools._distutils.version, if first not available

View file

@ -75,9 +75,14 @@ except ImportError:
try:
from salt.utils.versions import LooseVersion
except ImportError:
from setuptools._distutils.version import (
LooseVersion, # pylint: disable=blacklisted-module
)
try:
from setuptools.distutils.version import (
LooseVersion, # pylint: disable=blacklisted-module
)
except ImportError:
from setuptools._distutils.version import (
LooseVersion, # pylint: disable=blacklisted-module
)
# pylint: disable=too-many-instance-attributes

View file

@ -18,8 +18,32 @@ import numbers
import sys
import warnings
from setuptools._distutils.version import LooseVersion as _LooseVersion
from setuptools._distutils.version import StrictVersion as _StrictVersion
log = logging.getLogger(__name__)
try:
from setuptools.distutils.version import LooseVersion as _LooseVersion
except ImportError:
log.debug(
"unable to import LooseVersion from setuptools.distutils.version, will attempt setuptools._distutils.version"
)
try:
from setuptools._distutils.version import LooseVersion as _LooseVersion
except:
log.debug("unable to import LooseVersion from setuptools._distutils.version")
raise ImportError()
try:
from setuptools.distutils.version import StrictVersion as _StrictVersion
except ImportError:
log.debug(
"unable to import StrictVersion from setuptools.distutils.version, will attempt setuptools._distutils.version"
)
try:
from setuptools._distutils.version import StrictVersion as _StrictVersion
except:
log.debug("unable to import StrictVersion from setuptools._distutils.version")
raise ImportError()
# pylint: enable=blacklisted-module
import salt.version
@ -27,9 +51,6 @@ import salt.version
# pylint: disable=blacklisted-module
log = logging.getLogger(__name__)
class StrictVersion(_StrictVersion):
def parse(self, vstring):
_StrictVersion.parse(self, vstring)