| """This file is the part of 'gradio/cli.py' for printing the environment info | |
| for the cli command 'gradio environment' | |
| """ | |
| from __future__ import annotations | |
| import platform | |
| from importlib import metadata | |
| from rich import print | |
| def print_environment_info(): | |
| """Print Gradio environment information.""" | |
| print("Gradio Environment Information:\n------------------------------") | |
| print("Operating System:", platform.system()) | |
| for package_name in ["gradio", "gradio_client"]: | |
| try: | |
| package_version = metadata.version(package_name) | |
| print(f"{package_name} version:", package_version) | |
| except metadata.PackageNotFoundError: | |
| print(f"{package_name} package is not installed.") | |
| print("\n------------------------------------------------") | |
| for package_name in ["gradio", "gradio_client"]: | |
| try: | |
| dist = metadata.distribution(package_name) | |
| print(f"{package_name} dependencies in your environment:\n") | |
| if dist.requires is not None: | |
| for req in dist.requires: | |
| req_base_name = ( | |
| req.split(">")[0] | |
| .split("<")[0] | |
| .split("~")[0] | |
| .split("[")[0] | |
| .split("!")[0] | |
| ) | |
| try: | |
| print(f"{req_base_name}: {metadata.version(req_base_name)}") | |
| except metadata.PackageNotFoundError: | |
| print(f"{req_base_name} is not installed.") | |
| print("\n") | |
| except metadata.PackageNotFoundError: | |
| print(f"{package_name} package is not installed.") | |