Azure / azure-cli-extensions

Public Repository for Extensions of Azure CLI.
https://docs.microsoft.com/en-us/cli/azure
MIT License
382 stars 1.23k forks source link

ImportError: cannot import name 'AccessTokenInfo' from 'azure.core.credentials' #8139

Open jtamma opened 3 days ago

jtamma commented 3 days ago

Describe the bug

With the upgrade of ;atest az version running into this error "cannot import name 'AccessTokenInfo' from 'azure.core.credentials' " when executing our cli extension

Related command

az nexusidentity gen-keys

Errors

az nexusidentity gen-keys The command failed with an unexpected error. Here is the traceback: cannot import name 'AccessTokenInfo' from 'azure.core.credentials' (C:\Program Files\Microsoft SDKs\Azure\CLI2\Lib\site-packages\azure\core\credentials.pyc) Traceback (most recent call last): File "D:\a_work\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\knack/cli.py", line 233, in invoke File "D:\a_work\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/cli/core/commands/init.py", line 666, in execute File "D:\a_work\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/cli/core/commands/init.py", line 733, in _run_jobs_serially File "D:\a_work\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/cli/core/commands/init.py", line 703, in _run_job File "D:\a_work\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/cli/core/commands/init.py", line 336, in call File "D:\a_work\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/cli/core/commands/command_operation.py", line 121, in handler File "C:\Users\.azure\cliextensions\nexusidentity\azext_nexusidentity\custom.py", line 23, in generate_nexus_identity_keys from azure.identity import AzureCliCredential File "C:\Users\.azure\cliextensions\nexusidentity\azure\identity__init.py", line 10, in from ._credentials import ( File "C:\Users\.azure\cliextensions\nexusidentity\azure\identity_credentials\init__.py", line 5, in from .authorization_code import AuthorizationCodeCredential File "C:\Users\.azure\cliextensions\nexusidentity\azure\identity_credentials\authorization_code.py", line 7, in from azure.core.credentials import AccessToken, AccessTokenInfo, TokenRequestOptions ImportError: cannot import name 'AccessTokenInfo' from 'azure.core.credentials' (C:\Program Files\Microsoft SDKs\Azure\CLI2\Lib\site-packages\azure\core\credentials.pyc)

Issue script & Debug output

az nexusidentity gen-keys --debug cli.knack.cli: Command arguments: ['nexusidentity', 'gen-keys', '--debug'] cli.knack.cli: init debug log: Enable color in terminal. cli.knack.cli: Event: Cli.PreExecute [] cli.knack.cli: Event: CommandParser.OnGlobalArgumentsCreate [<function CLILogging.on_global_arguments at 0x0000029D26CCFD80>, <function OutputProducer.on_global_arguments at 0x0000029D26E740E0>, <function CLIQuery.on_global_arguments at 0x0000029D26E9DC60>] cli.knack.cli: Event: CommandInvoker.OnPreCommandTableCreate [] cli.azure.cli.core: Modules found from index for 'nexusidentity': ['azext_nexusidentity'] cli.azure.cli.core: Loading command modules: cli.azure.cli.core: Name Load Time Groups Commands cli.azure.cli.core: Total (0) 0.000 0 0 cli.azure.cli.core: These extensions are not installed and will be skipped: ['azext_ai_examples', 'azext_next'] cli.azure.cli.core: Loading extensions: cli.azure.cli.core: Name Load Time Groups Commands Directory cli.azure.cli.core: nexusidentity 0.014 1 1 C:\Users\user-name.azure\cliextensions\nexusidentity cli.azure.cli.core: Total (1) 0.014 1 1 cli.azure.cli.core: Loaded 1 groups, 1 commands. cli.azure.cli.core: Found a match in the command table. cli.azure.cli.core: Raw command : nexusidentity gen-keys cli.azure.cli.core: Command table: nexusidentity gen-keys cli.knack.cli: Event: CommandInvoker.OnPreCommandTableTruncate [<function AzCliLogging.init_command_file_logging at 0x0000029D290D40E0>] cli.azure.cli.core.azlogging: metadata file logging enabled - writing logs to 'C:\Users\user-name.azure\commands\2024-10-15.15-43-33.nexusidentity_gen-keys.6632.log'. az_command_data_logger: command args: nexusidentity gen-keys --debug cli.knack.cli: Event: CommandInvoker.OnPreArgumentLoad [<function register_global_subscription_argument..add_subscription_parameter at 0x0000029D29106A20>] cli.knack.cli: Event: CommandInvoker.OnPostArgumentLoad [] cli.knack.cli: Event: CommandInvoker.OnPostCommandTableCreate [<function register_ids_argument..add_ids_arguments at 0x0000029D29184AE0>, <function register_cache_arguments..add_cache_arguments at 0x0000029D29184C20>, <function register_upcoming_breaking_change_info..update_breaking_change_info at 0x0000029D29184CC0>] cli.knack.cli: Event: CommandInvoker.OnCommandTableLoaded [] cli.knack.cli: Event: CommandInvoker.OnPreParseArgs [] cli.knack.cli: Event: CommandInvoker.OnPostParseArgs [<function OutputProducer.handle_output_argument at 0x0000029D26E74180>, <function CLIQuery.handle_query_parameter at 0x0000029D26E9DD00>, <function register_ids_argument..parse_ids_arguments at 0x0000029D29184B80>] az_command_data_logger: extension name: nexusidentity az_command_data_logger: extension version: 1.0.0b1 cli.azure.cli.core.azclierror: Traceback (most recent call last): File "D:\a_work\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\knack/cli.py", line 233, in invoke File "D:\a_work\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/cli/core/commands/init.py", line 666, in execute File "D:\a_work\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/cli/core/commands/init.py", line 733, in _run_jobs_serially File "D:\a_work\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/cli/core/commands/init.py", line 703, in _run_job File "D:\a_work\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/cli/core/commands/init.py", line 336, in call File "D:\a_work\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/cli/core/commands/command_operation.py", line 121, in handler File "C:\Users\.azure\cliextensions\nexusidentity\azext_nexusidentity\custom.py", line 23, in generate_nexus_identity_keys from azure.identity import AzureCliCredential File "C:\Users\.azure\cliextensions\nexusidentity\azure\identity__init.py", line 10, in from ._credentials import ( File "C:\Users\.azure\cliextensions\nexusidentity\azure\identity_credentials\init__.py", line 5, in from .authorization_code import AuthorizationCodeCredential File "C:\Users\.azure\cliextensions\nexusidentity\azure\identity_credentials\authorization_code.py", line 7, in from azure.core.credentials import AccessToken, AccessTokenInfo, TokenRequestOptions ImportError: cannot import name 'AccessTokenInfo' from 'azure.core.credentials' (C:\Program Files\Microsoft SDKs\Azure\CLI2\Lib\site-packages\azure\core\credentials.pyc)

cli.azure.cli.core.azclierror: The command failed with an unexpected error. Here is the traceback: az_command_data_logger: The command failed with an unexpected error. Here is the traceback: cli.azure.cli.core.azclierror: cannot import name 'AccessTokenInfo' from 'azure.core.credentials' (C:\Program Files\Microsoft SDKs\Azure\CLI2\Lib\site-packages\azure\core\credentials.pyc) Traceback (most recent call last): File "D:\a_work\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\knack/cli.py", line 233, in invoke File "D:\a_work\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/cli/core/commands/init.py", line 666, in execute File "D:\a_work\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/cli/core/commands/init.py", line 733, in _run_jobs_serially File "D:\a_work\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/cli/core/commands/init.py", line 703, in _run_job File "D:\a_work\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/cli/core/commands/init.py", line 336, in call File "D:\a_work\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/cli/core/commands/command_operation.py", line 121, in handler File "C:\Users\.azure\cliextensions\nexusidentity\azext_nexusidentity\custom.py", line 23, in generate_nexus_identity_keys from azure.identity import AzureCliCredential File "C:\Users\user-name.azure\cliextensions\nexusidentity\azure\identity__init.py", line 10, in from ._credentials import ( File "C:\Users\user-name.azure\cliextensions\nexusidentity\azure\identity_credentials__init.py", line 5, in from .authorization_code import AuthorizationCodeCredential File "C:\Users\user-name.azure\cliextensions\nexusidentity\azure\identity_credentials\authorization_code.py", line 7, in from azure.core.credentials import AccessToken, AccessTokenInfo, TokenRequestOptions ImportError: cannot import name 'AccessTokenInfo' from 'azure.core.credentials' (C:\Program Files\Microsoft SDKs\Azure\CLI2\Lib\site-packages\azure\core\credentials.pyc) az_command_data_logger: cannot import name 'AccessTokenInfo' from 'azure.core.credentials' (C:\Program Files\Microsoft SDKs\Azure\CLI2\Lib\site-packages\azure\core\credentials.pyc) Traceback (most recent call last): File "D:\a_work\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\knack/cli.py", line 233, in invoke File "D:\a_work\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/cli/core/commands/init.py", line 666, in execute File "D:\a_work\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/cli/core/commands/init.py", line 733, in _run_jobs_serially File "D:\a_work\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/cli/core/commands/init.py", line 703, in _run_job File "D:\a_work\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/cli/core/commands/init.py", line 336, in call File "D:\a_work\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/cli/core/commands/command_operation.py", line 121, in handler File "C:\Users\user-name.azure\cliextensions\nexusidentity\azext_nexusidentity\custom.py", line 23, in generate_nexus_identity_keys from azure.identity import AzureCliCredential File "C:\Users\user-name.azure\cliextensions\nexusidentity\azure\identity__init__.py", line 10, in from ._credentials import ( File "C:\Users\user-name.azure\cliextensions\nexusidentity\azure\identity_credentials\init__.py", line 5, in from .authorization_code import AuthorizationCodeCredential File "C:\Users\user-name.azure\cliextensions\nexusidentity\azure\identity_credentials\authorization_code.py", line 7, in from azure.core.credentials import AccessToken, AccessTokenInfo, TokenRequestOptions ImportError: cannot import name 'AccessTokenInfo' from 'azure.core.credentials' (C:\Program Files\Microsoft SDKs\Azure\CLI2\Lib\site-packages\azure\core\credentials.pyc) To check existing issues, please visit: https://github.com/Azure/azure-cli/issues cli.knack.cli: Event: Cli.PostExecute [<function AzCliLogging.deinit_cmd_metadata_logging at 0x0000029D290D4360>] az_command_data_logger: exit code: 1 cli.main: Command ran in 1.649 seconds (init: 0.599, invoke: 1.050) telemetry.main: Begin splitting cli events and extra events, total events: 1 telemetry.client: Accumulated 0 events. Flush the clients. telemetry.main: Finish splitting cli events and extra events, cli events: 1 telemetry.save: Save telemetry record of length 7877 in cache file under C:\Users\user-name.azure\telemetry\20241015154334896 telemetry.main: Begin creating telemetry upload process. telemetry.process: Creating upload process: "C:\Program Files\Microsoft SDKs\Azure\CLI2\python.exe C:\Program Files\Microsoft SDKs\Azure\CLI2\Lib\site-packages\azure\cli\telemetry\init__.pyc C:\Users\user-name.azure C:\Users\user-name.azure\telemetry\20241015154334896" telemetry.process: Return from creating process 5604 telemetry.main: Finish creating telemetry upload process.

Expected behavior

CLI should have been executed without any errors

Environment Summary

azure-cli 2.65.0

core 2.65.0 telemetry 1.1.0

Extensions: managednetworkfabric 6.2.0 nexusidentity 1.0.0b1

Dependencies: msal 1.31.0 azure-mgmt-resource 23.1.1

Python location 'C:\Program Files\Microsoft SDKs\Azure\CLI2\python.exe' Extensions directory 'C:\Users\jtamma.azure\cliextensions'

Python (Windows) 3.11.8 (tags/v3.11.8:db85d51, Feb 6 2024, 22:03:32) [MSC v.1937 64 bit (AMD64)]

Legal docs and information: aka.ms/AzureCliLegal

Your CLI is up-to-date.

Additional context

No response

yonzhan commented 3 days ago

Thank you for opening this issue, we will look into it.

jeremyrickard commented 1 day ago

I am seeing this error while installing a different extension using 2.61.0 and 2.65.0, when the same installation worked previously on 2.61.0 in the past.

EDIT: I tried this with every version from 2.60.0 -> 2.65.0 and see the same thing. Probably not az verison related. Python dep?

jtamma commented 1 day ago

@yonzhan Is there any workaround for this for the time being, I have already tried installing azure-identity 1.17.1 but didn't worked.

EDIT: One more observation in dev mode(venv) I am not seeing any issue. Though both env's have same versions azure-core 1.31.0 azure-identity 1.19.0