| 18 | from packaging.version import Version |
| 19 | |
| 20 | def ensure(module_name, min_version=None): |
| 21 | if launch.is_installed(module_name): |
| 22 | if min_version is None or Version(importlib_metadata.version(module_name)) >= Version(min_version): |
| 23 | return |
| 24 | requirement = f'{module_name}>={min_version}' if min_version is not None else module_name |
| 25 | cmd = f'install "{requirement}"' |
| 26 | msg = f'{requirement} requirement for depthmap script' |
| 27 | launch.run_pip(cmd, msg) |
| 28 | |
| 29 | |
| 30 | ensure('timm', '0.9.2') # For midas, specified just in case |