diff --git a/onnxruntime/test/python/test_pytorch_export_contrib_ops.py b/onnxruntime/test/python/test_pytorch_export_contrib_ops.py index 5df6499fc7..bc46f3b57c 100644 --- a/onnxruntime/test/python/test_pytorch_export_contrib_ops.py +++ b/onnxruntime/test/python/test_pytorch_export_contrib_ops.py @@ -1,10 +1,10 @@ # Copyright (c) Microsoft Corporation. All rights reserved. # Licensed under the MIT License. +# pylint: disable=W0622 """Test export of PyTorch operators using ONNX Runtime contrib ops.""" import copy -import distutils.version import io import unittest @@ -18,7 +18,9 @@ from onnxruntime.tools import pytorch_export_contrib_ops def _torch_version_lower_than(version: str): - return distutils.version.LooseVersion(torch.__version__) < distutils.version.LooseVersion(version) + from packaging.version import Version as LooseVersion # pylint: disable=C0415 + + return LooseVersion(torch.__version__) < LooseVersion(version) def ort_test_with_input(ort_sess, input, output, rtol, atol): diff --git a/orttraining/orttraining/python/ort_trainer.py b/orttraining/orttraining/python/ort_trainer.py index a22bb78cd1..5434edd7d4 100644 --- a/orttraining/orttraining/python/ort_trainer.py +++ b/orttraining/orttraining/python/ort_trainer.py @@ -1,7 +1,7 @@ import io import os import warnings -from distutils.version import LooseVersion +from packaging.version import Version as LooseVersion import numpy as np import onnx diff --git a/orttraining/orttraining/python/training/ortmodule/_utils.py b/orttraining/orttraining/python/training/ortmodule/_utils.py index be256d047d..a43f0c3e66 100644 --- a/orttraining/orttraining/python/training/ortmodule/_utils.py +++ b/orttraining/orttraining/python/training/ortmodule/_utils.py @@ -12,8 +12,8 @@ import random import traceback import types import warnings -from distutils.version import LooseVersion from typing import List +from packaging.version import Version as LooseVersion import numpy as np import torch diff --git a/orttraining/orttraining/test/python/orttraining_test_orttrainer_frontend.py b/orttraining/orttraining/test/python/orttraining_test_orttrainer_frontend.py index 85234d3d92..57b5af656e 100644 --- a/orttraining/orttraining/test/python/orttraining_test_orttrainer_frontend.py +++ b/orttraining/orttraining/test/python/orttraining_test_orttrainer_frontend.py @@ -1,10 +1,8 @@ import inspect -import math import os import tempfile -from distutils.version import StrictVersion from functools import partial - +from packaging.version import Version as StrictVersion import _test_commons import _test_helpers import onnx diff --git a/setup.py b/setup.py index 2482dfe1c6..e89be1fff2 100644 --- a/setup.py +++ b/setup.py @@ -2,13 +2,13 @@ # Copyright (c) Microsoft Corporation. All rights reserved. # Licensed under the MIT License. # ------------------------------------------------------------------------ +# pylint: disable=C0103 import datetime +import logging import platform import subprocess import sys -from distutils import log as logger -from distutils.command.build_ext import build_ext as _build_ext from glob import glob, iglob from os import environ, getcwd, path, popen, remove from pathlib import Path @@ -16,11 +16,13 @@ from shutil import copyfile from packaging.tags import sys_tags from setuptools import Extension, setup +from setuptools.command.build_ext import build_ext as _build_ext from setuptools.command.install import install as InstallCommandBase nightly_build = False package_name = "onnxruntime" wheel_name_suffix = None +logger = logging.getLogger() def parse_arg_remove_boolean(argv, arg_name): @@ -162,7 +164,7 @@ try: f.write(' os.environ["ORT_CUDA_UNAVAILABLE"] = "1"\n') def _rewrite_ld_preload_tensorrt(self, to_preload): - with open("onnxruntime/capi/_ld_preload.py", "a") as f: + with open("onnxruntime/capi/_ld_preload.py", "a", encoding="ascii") as f: if len(to_preload) > 0: f.write("from ctypes import CDLL, RTLD_GLOBAL\n") f.write("try:\n") @@ -447,8 +449,8 @@ if not path.exists(README): if not path.exists(README): raise FileNotFoundError("Unable to find 'README.rst'") -with open(README) as f: - long_description = f.read() +with open(README, "r", encoding="utf-8") as fdesc: + long_description = fdesc.read() # Include files in onnxruntime/external if --enable_external_custom_op_schemas build.sh command # line option is specified. diff --git a/tools/ci_build/build.py b/tools/ci_build/build.py index c6bd645831..bacddebfd1 100644 --- a/tools/ci_build/build.py +++ b/tools/ci_build/build.py @@ -11,9 +11,15 @@ import shlex import shutil import subprocess import sys -from distutils.version import LooseVersion from pathlib import Path +try: + from packaging.version import Version as LooseVersion +except ImportError: + # This is deprecated and will be removed in Python 3.12. + # See https://docs.python.org/3/library/distutils.html. + from distutils.version import LooseVersion # pylint: disable=W4901 + SCRIPT_DIR = os.path.dirname(os.path.realpath(__file__)) REPO_DIR = os.path.normpath(os.path.join(SCRIPT_DIR, "..", "..")) diff --git a/tools/ci_build/requirements.txt b/tools/ci_build/requirements.txt index a45d6c314e..529010252f 100644 --- a/tools/ci_build/requirements.txt +++ b/tools/ci_build/requirements.txt @@ -1,4 +1,5 @@ # packages used by transformers tool test +packaging protobuf==3.20.1 numpy==1.23.5 coloredlogs==15.0