From a83ed1dc32b2f12dc20a20691002e849c4ab89d1 Mon Sep 17 00:00:00 2001 From: semjon00 Date: Fri, 19 May 2023 13:34:41 +0300 Subject: [PATCH] Add support for NumPy 1.24.* (pt. 2) --- install.py | 41 ++++++++++++++++++++--------------------- 1 file changed, 20 insertions(+), 21 deletions(-) diff --git a/install.py b/install.py index 5cf2734..3278dac 100644 --- a/install.py +++ b/install.py @@ -11,37 +11,36 @@ launch.run_pip("install packaging", "packaging requirement for depthmap script") from packaging.version import Version +def ensure(module_name, min_version=None): + if launch.is_installed(module_name): + if min_version is None or Version(importlib_metadata.version(module_name)) >= Version(min_version): + return + cmd = f'install "{module_name}>={min_version}"' if min_version is not None else f'install {module_name}' + msg = f'{module_name} {min_version + " " if min_version is not None else ""}requirement for depthmap script' + launch.run_pip(cmd, msg) + if not launch.is_installed("timm"): #0.6.7 launch.run_pip('install --force-reinstall "timm==0.6.12"', "timm requirement for depthmap script") -if not launch.is_installed("matplotlib"): - launch.run_pip("install matplotlib", "matplotlib requirement for depthmap script") +ensure('matplotlib') + +ensure('trimesh') -if not launch.is_installed("trimesh"): - launch.run_pip("install trimesh", "requirements for depthmap script") - -if not launch.is_installed("numba") or Version(importlib_metadata.version("numba")) < Version("0.57.0"): - launch.run_pip('install "numba>=0.57.0"', "numba requirement for depthmap script") -if not launch.is_installed("vispy"): - launch.run_pip("install vispy", "vispy requirement for depthmap script") +ensure('numba', '0.57.0') +ensure('vispy') -if not launch.is_installed("rembg"): - launch.run_pip("install rembg", "rembg requirement for depthmap script") +ensure('rembg') if not launch.is_installed("moviepy"): launch.run_pip('install "moviepy==1.0.2"', "moviepy requirement for depthmap script") -if not launch.is_installed("transforms3d"): - launch.run_pip("install transforms3d", "transforms3d requirement for depthmap script") -if not launch.is_installed("imageio"): #2.4.1 - launch.run_pip("install imageio", "imageio requirement for depthmap script") -if not launch.is_installed("imageio-ffmpeg"): - launch.run_pip("install imageio-ffmpeg", "imageio-ffmpeg requirement for depthmap script") +ensure('transforms3d', '0.4.1') + +ensure('imageio') # 2.4.1 +ensure('imageio-ffmpeg') if not launch.is_installed("networkx"): launch.run_pip('install install "networkx==2.5"', "networkx requirement for depthmap script") if platform.system() == 'Windows': - if not launch.is_installed("pyqt5"): - launch.run_pip("install pyqt5", "pyqt5 requirement for depthmap script") + ensure('pyqt5') if platform.system() == 'Darwin': - if not launch.is_installed("pyqt6"): - launch.run_pip("install pyqt6", "pyqt6 requirement for depthmap script") + ensure('pyqt6')