pyghidra_launcher.py can now use an existing pyghidra
installation in an externally managed environment. Upgrading is disabled
in this scenario.
Fixed an issue with getting the package version from an arbitrary
environment
Refactors the `get_package_version` helper function to use the standard
`importlib.metadata` library instead of a subprocess call to `pip show`.
This change provides several benefits:
- Robustness: Avoids brittle parsing of command-line tool output.
- Performance: Eliminates the overhead of spawning a new process.
- Correctness: The return type hint is corrected to `Optional[str]` to
accurately reflect that the function can return `None`.
- Simplicity: The unused `python_cmd` parameter has been removed,
simplifying the function's signature.
* Specifying supported Python versions in application.properties
so other things can get access to it (similar to how we do it for Java
and Gradle supported versions)
* Only try to launch PyGhidra with a supported version of Python