(op, got_ver, want_ver, requirement, pkg, hint)
| 34 | |
| 35 | |
| 36 | def _compare_versions(op, got_ver, want_ver, requirement, pkg, hint): |
| 37 | if got_ver is None or want_ver is None: |
| 38 | raise ValueError( |
| 39 | f"Unable to compare versions for {requirement}: need={want_ver} found={got_ver}. This is unusual. Consider" |
| 40 | f" reinstalling {pkg}." |
| 41 | ) |
| 42 | if not ops[op](version.parse(got_ver), version.parse(want_ver)): |
| 43 | raise ImportError( |
| 44 | f"{requirement} is required for a normal functioning of this module, but found {pkg}=={got_ver}.{hint}" |
| 45 | ) |
| 46 | |
| 47 | |
| 48 | def require_version(requirement: str, hint: str | None = None) -> None: |
no outgoing calls
no test coverage detected
searching dependent graphs…