diff --git a/output_scour.py b/output_scour.py index 9ff5cd45f213aa1c169639c81245bc32233d6c9f..dab0f0997001f16368f0bea3a155b9d1bcb9f0d4 100755 --- a/output_scour.py +++ b/output_scour.py @@ -3,17 +3,24 @@ Run the scour module on the svg output. """ -from distutils.version import StrictVersion import inkex +try: + from packaging.version import Version +except ImportError: + raise inkex.DependencyError("""Failed to import module 'packaging'. +Please make sure it is installed (e.g. using 'pip install packaging' +or 'sudo apt-get install python3-packaging') and try again. +""") + try: import scour from scour.scour import scourString except ImportError: raise inkex.DependencyError("""Failed to import module 'scour'. Please make sure it is installed (e.g. using 'pip install scour' - or 'sudo apt-get install python-scour') and try again. + or 'sudo apt-get install python3-scour') and try again. """) @@ -56,7 +63,7 @@ class ScourInkscape(inkex.OutputExtension): if self.options.scour_version_warn_old: scour_version = scour.__version__ scour_version_min = self.options.scour_version - if StrictVersion(scour_version) < StrictVersion(scour_version_min): + if Version(scour_version) < Version(scour_version_min): raise inkex.AbortExtension(f""" The extension 'Optimized SVG Output' is designed for Scour {scour_version_min} or later but you're using the older version Scour {scour_version}. diff --git a/setup.py b/setup.py index 01e2756833805fa87c6613351773923d9a73ebb4..1849abca1045b6cd1ab5fde323e4d5ae4e855d5c 100755 --- a/setup.py +++ b/setup.py @@ -39,7 +39,7 @@ setup( 'Programming Language :: Python :: 3.7', ], packages=['inkex', 'inkex.elements', 'inkex.tester'], - install_requires=['scour', 'numpy', 'pyserial', 'cssselect'], + install_requires=['scour', 'numpy', 'pyserial', 'cssselect', 'packaging'], setup_requires=["pytest-runner"], tests_require=["pytest", "pytest-cov"] )