diff --git a/setup.py b/setup.py index 3398d7f4fe..b32b2986c9 100644 --- a/setup.py +++ b/setup.py @@ -41,6 +41,8 @@ def read_version(): "protobuf3-to-dict>=0.1.5", "requests>=2.20.0, <3", "smdebug-rulesconfig==0.1.2", + "importlib-metadata>=1.4.0", + "packaging>=20.0", ] # Specific use case dependencies diff --git a/src/sagemaker/__init__.py b/src/sagemaker/__init__.py index 0f8bf15a27..6b35f5abb9 100644 --- a/src/sagemaker/__init__.py +++ b/src/sagemaker/__init__.py @@ -13,7 +13,7 @@ """Placeholder docstring""" from __future__ import absolute_import -import pkg_resources +import importlib_metadata from sagemaker import estimator, parameter, tuner # noqa: F401 from sagemaker.amazon.kmeans import KMeans, KMeansModel, KMeansPredictor # noqa: F401 @@ -60,4 +60,4 @@ from sagemaker.automl.automl import AutoML, AutoMLJob, AutoMLInput # noqa: F401 from sagemaker.automl.candidate_estimator import CandidateEstimator, CandidateStep # noqa: F401 -__version__ = pkg_resources.require("sagemaker")[0].version +__version__ = importlib_metadata.version("sagemaker") diff --git a/src/sagemaker/mxnet/model.py b/src/sagemaker/mxnet/model.py index 019d54d76f..19ac45203b 100644 --- a/src/sagemaker/mxnet/model.py +++ b/src/sagemaker/mxnet/model.py @@ -15,7 +15,8 @@ import logging -from pkg_resources import parse_version +import packaging.version + from sagemaker import fw_utils import sagemaker @@ -142,9 +143,9 @@ def prepare_container_def(self, instance_type, accelerator_type=None): dict[str, str]: A container definition object usable with the CreateModel API. """ - is_mms_version = parse_version(self.framework_version) >= parse_version( - self._LOWEST_MMS_VERSION - ) + is_mms_version = packaging.version.Version( + self.framework_version + ) >= packaging.version.Version(self._LOWEST_MMS_VERSION) deploy_image = self.image if not deploy_image: diff --git a/src/sagemaker/pytorch/model.py b/src/sagemaker/pytorch/model.py index 407d06b8be..38c369c921 100644 --- a/src/sagemaker/pytorch/model.py +++ b/src/sagemaker/pytorch/model.py @@ -14,7 +14,7 @@ from __future__ import absolute_import import logging -import pkg_resources +import packaging.version from sagemaker import fw_utils import sagemaker @@ -143,8 +143,8 @@ def prepare_container_def(self, instance_type, accelerator_type=None): dict[str, str]: A container definition object usable with the CreateModel API. """ - lowest_mms_version = pkg_resources.parse_version(self._LOWEST_MMS_VERSION) - framework_version = pkg_resources.parse_version(self.framework_version) + lowest_mms_version = packaging.version.Version(self._LOWEST_MMS_VERSION) + framework_version = packaging.version.Version(self.framework_version) is_mms_version = framework_version >= lowest_mms_version deploy_image = self.image diff --git a/src/sagemaker/user_agent.py b/src/sagemaker/user_agent.py index f7fa29e5a7..a121183489 100644 --- a/src/sagemaker/user_agent.py +++ b/src/sagemaker/user_agent.py @@ -15,12 +15,12 @@ import platform import sys -import pkg_resources import boto3 import botocore +import importlib_metadata -SDK_VERSION = pkg_resources.require("sagemaker")[0].version +SDK_VERSION = importlib_metadata.version("sagemaker") OS_NAME = platform.system() or "UnresolvedOS" OS_VERSION = platform.release() or "UnresolvedOSVersion" PYTHON_VERSION = "{}.{}.{}".format(