66import shutil
77import subprocess
88import sys
9+ from importlib .metadata import distributions , version
910
1011import pynvml
1112from rich .console import Console
@@ -62,6 +63,19 @@ def gather_python_version():
6263 return f"{ sys .version_info .major } .{ sys .version_info .minor } .{ sys .version_info .micro } "
6364
6465
66+ def gather_package_versions ():
67+ """Return package version."""
68+ installed_packages = sorted (
69+ distributions (), key = lambda pkg : pkg .metadata ["Name" ].lower ()
70+ )
71+ package_versions = {}
72+ for package in installed_packages :
73+ package_name = package .metadata ["Name" ]
74+ package_version = version (package_name )
75+ package_versions [package_name ] = package_version
76+ return package_versions
77+
78+
6579def gather_conda_packages ():
6680 """Return conda packages."""
6781 try :
@@ -88,6 +102,7 @@ def run_debug(output_format="console"):
88102 "cuda_version" : gather_cuda_version (),
89103 "python_version_full" : gather_python_version_full (),
90104 "python_version" : gather_python_version (),
105+ "package_versions" : gather_package_versions (),
91106 "pip_packages" : gather_pip_packages (),
92107 "conda_packages" : gather_conda_packages (),
93108 "package_managers" : gather_package_managers (),
0 commit comments