Python スクリプト内から __version__ が無いパッケージのバージョンを得る
__version__ が無いパッケージのバージョンを取りたいということがあった
具体的には Sudachi の辞書 https://pypi.org/project/SudachiDict-full/
こうした
code:py
dict_version = None
for line in subprocess.run(sys.executable, "-m", "pip", "freeze", capture_output=True).stdout.decode().splitlines():
package_name, package_version = line.split("==")
if package_name == "SudachiDict-full":
dict_version = package_version
assert dict_version is not None
sys.executable で今実行してる Python から pip を呼ぶのがシンプルで良い感じだった。assert とかはまあお好みで
コマンド呼んでるの気持ち悪い気はするため、なんかもっと良い方法あれば教えてください。