diff --git a/ci/official/containers/linux_arm64/setup.python.sh b/ci/official/containers/linux_arm64/setup.python.sh index 767cf7d2df7..9c70c805cdc 100755 --- a/ci/official/containers/linux_arm64/setup.python.sh +++ b/ci/official/containers/linux_arm64/setup.python.sh @@ -29,7 +29,6 @@ cat >pythons.txt <= Version("1.12.0") -except ImportError: - NP_ROLL_CAN_MULTISHIFT = False +from packaging.version import StrictVersion as Version +# numpy.roll for multiple shifts was introduced in numpy version 1.12.0 +NP_ROLL_CAN_MULTISHIFT = Version(np.version.version) >= Version("1.12.0") # pylint: enable=g-import-not-at-top diff --git a/tensorflow/python/ops/math_ops_linspace_test.py b/tensorflow/python/ops/math_ops_linspace_test.py index 9e2499cd4dc..82d30bb7f66 100644 --- a/tensorflow/python/ops/math_ops_linspace_test.py +++ b/tensorflow/python/ops/math_ops_linspace_test.py @@ -14,9 +14,7 @@ # ============================================================================== """Tests for tensorflow.ops.math_ops.linspace.""" -# Using distutils.version.LooseVersion was resulting in an error, so importing -# directly. -from distutils.version import LooseVersion # pylint: disable=g-importing-member +from packaging.version import Version # pylint: disable=g-importing-member from absl.testing import parameterized import numpy as np @@ -47,7 +45,7 @@ class LinspaceTest(test_util.TensorFlowTestCase, parameterized.TestCase): ]) # pylint: enable=g-complex-comprehension def testLinspaceBroadcasts(self, start_shape, stop_shape, dtype, num): - if LooseVersion(np.version.version) < LooseVersion("1.16.0"): + if Version(np.version.version) < Version("1.16.0"): self.skipTest("numpy doesn't support axes before version 1.16.0") ndims = max(len(start_shape), len(stop_shape)) diff --git a/tensorflow/python/ops/numpy_ops/tests/test_util.py b/tensorflow/python/ops/numpy_ops/tests/test_util.py index 43a03379a5d..bfb745d9569 100644 --- a/tensorflow/python/ops/numpy_ops/tests/test_util.py +++ b/tensorflow/python/ops/numpy_ops/tests/test_util.py @@ -14,7 +14,6 @@ # ============================================================================== """NumPy test utilities.""" from contextlib import contextmanager -from distutils.util import strtobool import functools from functools import partial import re @@ -49,6 +48,12 @@ tree_multimap = nest.map_structure FLAGS = flags.FLAGS +# https://danielms.site/zet/2023/pythons-distutil-strtobool-replacement/ +def strtobool(value: str) -> bool: + value = value.lower() + if value in ("y", "yes", "on", "1", "true", "t"): + return True + return False # TODO(wangpeng): Remove this flag after broken tests are fixed flags.DEFINE_bool('enable_x64', diff --git a/tensorflow/python/tpu/profiler/capture_tpu_profile.py b/tensorflow/python/tpu/profiler/capture_tpu_profile.py index 4e5563d4bc2..01384c0408d 100644 --- a/tensorflow/python/tpu/profiler/capture_tpu_profile.py +++ b/tensorflow/python/tpu/profiler/capture_tpu_profile.py @@ -19,7 +19,7 @@ import sys from absl import app from absl import flags -from distutils.version import LooseVersion +from packaging.version import Version from tensorflow.python.distribute.cluster_resolver import tpu_cluster_resolver as resolver from tensorflow.python.profiler import profiler_client @@ -139,7 +139,7 @@ def main(unused_argv=None): print('TensorFlow version %s detected' % tf_version) print('Welcome to the Cloud TPU Profiler v%s' % profiler_version.__version__) - if LooseVersion(tf_version) < LooseVersion('2.2.0'): + if Version(tf_version) < Version('2.2.0'): sys.exit('You must install tensorflow >= 2.2.0 to use this plugin.') if not FLAGS.service_addr and not FLAGS.tpu: @@ -188,7 +188,7 @@ def main(unused_argv=None): gfile.MakeDirs(FLAGS.logdir) try: - if LooseVersion(tf_version) < LooseVersion('2.3.0'): + if Version(tf_version) < Version('2.3.0'): profiler_client.trace(service_addr, os.path.expanduser(FLAGS.logdir), duration_ms, workers_list, FLAGS.num_tracing_attempts) diff --git a/tensorflow/tools/tf_sig_build_dockerfiles/setup.python.sh b/tensorflow/tools/tf_sig_build_dockerfiles/setup.python.sh index 007ee34858e..efc379cff9b 100755 --- a/tensorflow/tools/tf_sig_build_dockerfiles/setup.python.sh +++ b/tensorflow/tools/tf_sig_build_dockerfiles/setup.python.sh @@ -28,7 +28,6 @@ cat >pythons.txt <