[PATCH] doc: replace deprecated distutils version parsing

Thomas Monjalon thomas at monjalon.net
Tue Jan 11 12:43:56 CET 2022


When using Python 3.10, this warning appears:
  DeprecationWarning: The distutils package is deprecated
  and slated for removal in Python 3.12.
  Use setuptools or check PEP 632 for potential alternatives

The PEP 632 recommends replacing "distutils.version" with "packaging".

Bugzilla ID: 914
Cc: stable at dpdk.org

Reported-by: Jerin Jacob <jerinj at marvell.com>
Signed-off-by: Thomas Monjalon <thomas at monjalon.net>
---
 buildtools/call-sphinx-build.py | 4 ++--
 doc/guides/conf.py              | 6 +++---
 2 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/buildtools/call-sphinx-build.py b/buildtools/call-sphinx-build.py
index 26b199220a..39a60d09fa 100755
--- a/buildtools/call-sphinx-build.py
+++ b/buildtools/call-sphinx-build.py
@@ -7,7 +7,7 @@
 import os
 from os.path import join
 from subprocess import run, PIPE, STDOUT
-from distutils.version import StrictVersion
+from packaging.version import Version
 
 # assign parameters to variables
 (sphinx, version, src, dst, *extra_args) = sys.argv[1:]
@@ -19,7 +19,7 @@
 ver = run([sphinx, '--version'], stdout=PIPE,
           stderr=STDOUT).stdout.decode().split()[-1]
 sphinx_cmd = [sphinx] + extra_args
-if StrictVersion(ver) >= StrictVersion('1.7'):
+if Version(ver) >= Version('1.7'):
     sphinx_cmd += ['-j', 'auto']
 
 # find all the files sphinx will process so we can write them as dependencies
diff --git a/doc/guides/conf.py b/doc/guides/conf.py
index 1743ce301f..a55ce38800 100644
--- a/doc/guides/conf.py
+++ b/doc/guides/conf.py
@@ -3,7 +3,7 @@
 # Copyright(c) 2010-2015 Intel Corporation
 
 from docutils import nodes
-from distutils.version import LooseVersion
+from packaging.version import Version
 from sphinx import __version__ as sphinx_version
 from os import listdir
 from os import environ
@@ -28,7 +28,7 @@
 
 project = 'Data Plane Development Kit'
 html_logo = '../logo/DPDK_logo_vertical_rev_small.png'
-if LooseVersion(sphinx_version) >= LooseVersion('3.5'):
+if Version(sphinx_version) >= Version('3.5'):
     html_permalinks = False
 else:
     html_add_permalinks = ""
@@ -427,7 +427,7 @@ def setup(app):
                             'Features availability for Timer adapters',
                             'Feature')
 
-    if LooseVersion(sphinx_version) < LooseVersion('1.3.1'):
+    if Version(sphinx_version) < Version('1.3.1'):
         print('Upgrade sphinx to version >= 1.3.1 for '
               'improved Figure/Table number handling.',
               file=stderr)
-- 
2.34.1



More information about the stable mailing list