diff --git a/src/azure-cli-core/azure/cli/core/util.py b/src/azure-cli-core/azure/cli/core/util.py index 37bb88cd0e6..c0903ebb963 100644 --- a/src/azure-cli-core/azure/cli/core/util.py +++ b/src/azure-cli-core/azure/cli/core/util.py @@ -128,8 +128,25 @@ def truncate_text(str_to_shorten, width=70, placeholder=' [...]'): def get_installed_cli_distributions(): - from pkg_resources import working_set - return [d for d in list(working_set) if d.key == CLI_PACKAGE_NAME or d.key.startswith(COMPONENT_PREFIX)] + # Stop importing pkg_resources, because importing it is slow (~200ms). + # from pkg_resources import working_set + # return [d for d in list(working_set) if d.key == CLI_PACKAGE_NAME or d.key.startswith(COMPONENT_PREFIX)] + + # Use the hard-coded version instead of querying all modules under site-packages. + from azure.cli.core import __version__ as azure_cli_core_version + from azure.cli.telemetry import __version__ as azure_cli_telemetry_version + + class VersionItem: # pylint: disable=too-few-public-methods + """A mock of pkg_resources.EggInfoDistribution to maintain backward compatibility.""" + def __init__(self, key, version): + self.key = key + self.version = version + + return [ + VersionItem('azure-cli', azure_cli_core_version), + VersionItem('azure-cli-core', azure_cli_core_version), + VersionItem('azure-cli-telemetry', azure_cli_telemetry_version) + ] def _update_latest_from_pypi(versions): diff --git a/src/azure-cli-telemetry/azure/cli/telemetry/__init__.py b/src/azure-cli-telemetry/azure/cli/telemetry/__init__.py index 1c1c06da50c..9c025bf7cd5 100644 --- a/src/azure-cli-telemetry/azure/cli/telemetry/__init__.py +++ b/src/azure-cli-telemetry/azure/cli/telemetry/__init__.py @@ -10,6 +10,8 @@ from azure.cli.telemetry.util import save_payload +__version__ = "1.0.5" + def _start(config_dir): from azure.cli.telemetry.components.telemetry_logging import get_logger diff --git a/src/azure-cli/azure/cli/command_modules/resource/tests/latest/test_cli_version.py b/src/azure-cli/azure/cli/command_modules/util/tests/latest/test_version.py similarity index 94% rename from src/azure-cli/azure/cli/command_modules/resource/tests/latest/test_cli_version.py rename to src/azure-cli/azure/cli/command_modules/util/tests/latest/test_version.py index e7e5f4524c0..cc39f53986e 100644 --- a/src/azure-cli/azure/cli/command_modules/resource/tests/latest/test_cli_version.py +++ b/src/azure-cli/azure/cli/command_modules/util/tests/latest/test_version.py @@ -16,7 +16,6 @@ def test_version(self): self.assertIn('azure-cli', output) self.assertIn('azure-cli-core', output) self.assertIn('azure-cli-telemetry', output) - self.assertIn('azure-cli-testsdk', output) self.assertIn('extensions', output) self.assertIsInstance(output['extensions'], Dict)