-
Notifications
You must be signed in to change notification settings - Fork 72
Description
Hello. I have an error installing the preview extension 0.30b1.
Clean VM (Microsoft DevBox VS2026 Win11)
This is the exception, either with extension add with preview, or the github direct version.
This is the trace:
C:\Program Files (x86)\Microsoft SDKs\Azure\CLI2>az extension add --upgrade --source https://github.com/Azure/azure-iot-cli-extension/releases/download/v0.30.0b1/azure_iot-0.30.0b1-py3-none-any.whl --debug
cli.knack.cli: Command arguments: ['extension', 'add', '--upgrade', '--source', 'https://github.com/Azure/azure-iot-cli-extension/releases/download/v0.30.0b1/azure_iot-0.30.0b1-py3-none-any.whl', '--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 0x017C9578>, <function OutputProducer.on_global_arguments at 0x01B180C8>, <function CLIQuery.on_global_arguments at 0x01B3B2A8>]
cli.knack.cli: Event: CommandInvoker.OnPreCommandTableCreate []
cli.azure.cli.core: Modules found from index for 'extension': ['azure.cli.command_modules.extension']
cli.azure.cli.core: Loading command modules:
cli.azure.cli.core: Name Load Time Groups Commands
cli.azure.cli.core: extension 0.006 1 7
cli.azure.cli.core: Total (1) 0.006 1 7
cli.azure.cli.core: Loaded 1 groups, 7 commands.
cli.azure.cli.core: Found a match in the command table.
cli.azure.cli.core: Raw command : extension add
cli.azure.cli.core: Command table: extension add
cli.knack.cli: Event: CommandInvoker.OnPreCommandTableTruncate [<function AzCliLogging.init_command_file_logging at 0x03937078>]
cli.azure.cli.core.azlogging: metadata file logging enabled - writing logs to 'C:\Users\trainer.azure\commands\2025-11-26.12-50-48.extension_add.9652.log'.
az_command_data_logger: command args: extension add --upgrade --source {} --debug
cli.knack.cli: Event: CommandInvoker.OnPreArgumentLoad [<function register_global_subscription_argument..add_subscription_parameter at 0x0394EC58>]
cli.knack.cli: Event: CommandInvoker.OnPostArgumentLoad []
cli.knack.cli: Event: CommandInvoker.OnPostCommandTableCreate [<function register_ids_argument..add_ids_arguments at 0x0396D7A8>, <function register_cache_arguments..add_cache_arguments at 0x0397EAC8>, <function register_upcoming_breaking_change_info..update_breaking_change_info at 0x0397EB18>]
cli.knack.cli: Event: CommandInvoker.OnCommandTableLoaded []
cli.knack.cli: Event: CommandInvoker.OnPreParseArgs []
cli.knack.cli: Event: CommandInvoker.OnPostParseArgs [<function OutputProducer.handle_output_argument at 0x01B18118>, <function CLIQuery.handle_query_parameter at 0x01B3B2F8>, <function register_ids_argument..parse_ids_arguments at 0x0397EA28>]
Are you sure you want to install this extension? (y/n): y
cli.azure.cli.core.extension.operations: Extension source is url? True
cli.azure.cli.core.extension.operations: Downloading https://github.com/Azure/azure-iot-cli-extension/releases/download/v0.30.0b1/azure_iot-0.30.0b1-py3-none-any.whl to C:\Users\trainer\AppData\Local\Temp\tmph2pske_r\azure_iot-0.30.0b1-py3-none-any.whl
urllib3.connectionpool: Starting new HTTPS connection (1): github.com:443
urllib3.connectionpool: https://github.com:443 "GET /Azure/azure-iot-cli-extension/releases/download/v0.30.0b1/azure_iot-0.30.0b1-py3-none-any.whl HTTP/1.1" 302 0
urllib3.connectionpool: Starting new HTTPS connection (1): release-assets.githubusercontent.com:443
urllib3.connectionpool: https://release-assets.githubusercontent.com:443 "GET /github-production-release-asset/103456760/51f71693-1ed0-4693-a44c-7275c33703a1?sp=r&sv=2018-11-09&sr=b&spr=https&se=2025-11-26T13%3A36%3A43Z&rscd=attachment%3B+filename%3Dazure_iot-0.30.0b1-py3-none-any.whl&rsct=application%2Foctet-stream&skoid=96c2d410-5711-43a1-aedd-ab1947aa7ab0&sktid=398a6654-997b-47e9-b12b-9515b896b4de&skt=2025-11-26T12%3A36%3A08Z&ske=2025-11-26T13%3A36%3A43Z&sks=b&skv=2018-11-09&sig=Qu6b0PwDb5%2F%2FyYE1uSQDKCK4waU%2FP2wgaYnKMfTwpCM%3D&jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmVsZWFzZS1hc3NldHMuZ2l0aHVidXNlcmNvbnRlbnQuY29tIiwia2V5Ijoia2V5MSIsImV4cCI6MTc2NDE2MTY2NywibmJmIjoxNzY0MTYxMzY3LCJwYXRoIjoicmVsZWFzZWFzc2V0cHJvZHVjdGlvbi5ibG9iLmNvcmUud2luZG93cy5uZXQifQ.8FAMkbrnPedoZnH1qLjRhFzVZWc3TfgP5DrHfY2SC0g&response-content-disposition=attachment%3B%20filename%3Dazure_iot-0.30.0b1-py3-none-any.whl&response-content-type=application%2Foctet-stream HTTP/1.1" 200 1003403
cli.azure.cli.core.extension.operations: Downloaded to C:\Users\trainer\AppData\Local\Temp\tmph2pske_r\azure_iot-0.30.0b1-py3-none-any.whl
cli.azure.cli.core.extension.operations: Validating the extension C:\Users\trainer\AppData\Local\Temp\tmph2pske_r\azure_iot-0.30.0b1-py3-none-any.whl
cli.azure.cli.core.extension.operations: Validation successful on C:\Users\trainer\AppData\Local\Temp\tmph2pske_r\azure_iot-0.30.0b1-py3-none-any.whl
cli.azure.cli.core.extension.operations: Executing pip with args: ['install', '--target', 'C:\Users\trainer\.azure\cliextensions\azure-iot', 'C:\Users\trainer\AppData\Local\Temp\tmph2pske_r\azure_iot-0.30.0b1-py3-none-any.whl']
cli.azure.cli.core.extension.operations: Running: ['C:\Program Files (x86)\Microsoft SDKs\Azure\CLI2\python.exe', '-m', 'pip', 'install', '--target', 'C:\Users\trainer\.azure\cliextensions\azure-iot', 'C:\Users\trainer\AppData\Local\Temp\tmph2pske_r\azure_iot-0.30.0b1-py3-none-any.whl', '--disable-pip-version-check', '--no-cache-dir']
cli.azure.cli.core.extension.operations: Processing c:\users\trainer\appdata\local\temp\tmph2pske_r\azure_iot-0.30.0b1-py3-none-any.whl
Collecting azure-core<2.0.0,>=1.24.0 (from azure-iot==0.30.0b1)
Downloading azure_core-1.36.0-py3-none-any.whl.metadata (47 kB)
Collecting azure-mgmt-core<2.0.0,>=1.3.0 (from azure-iot==0.30.0b1)
Downloading azure_mgmt_core-1.6.0-py3-none-any.whl.metadata (4.6 kB)
Collecting azure-identity<1.18.0,>=1.6.1 (from azure-iot==0.30.0b1)
Downloading azure_identity-1.17.1-py3-none-any.whl.metadata (79 kB)
Collecting azure-storage-blob<13.0.0,>=12.14.0 (from azure-iot==0.30.0b1)
Downloading azure_storage_blob-12.27.1-py3-none-any.whl.metadata (26 kB)
Collecting msrest>=0.6.21 (from azure-iot==0.30.0b1)
Downloading msrest-0.7.1-py3-none-any.whl.metadata (21 kB)
Collecting msrestazure<2.0.0,>=0.6.3 (from azure-iot==0.30.0b1)
Downloading msrestazure-0.6.4.post1-py2.py3-none-any.whl.metadata (15 kB)
Collecting jsonschema~=3.2.0 (from azure-iot==0.30.0b1)
Downloading jsonschema-3.2.0-py2.py3-none-any.whl.metadata (7.8 kB)
Collecting azure-iot-device~=2.11 (from azure-iot==0.30.0b1)
Downloading azure_iot_device-2.14.0-py3-none-any.whl.metadata (15 kB)
Collecting tomli~=2.0 (from azure-iot==0.30.0b1)
Downloading tomli-2.3.0-cp313-cp313-win32.whl.metadata (10 kB)
Collecting tomli-w~=1.0 (from azure-iot==0.30.0b1)
Downloading tomli_w-1.2.0-py3-none-any.whl.metadata (5.7 kB)
Collecting tqdm~=4.62 (from azure-iot==0.30.0b1)
Downloading tqdm-4.67.1-py3-none-any.whl.metadata (57 kB)
Collecting treelib~=1.6 (from azure-iot==0.30.0b1)
Downloading treelib-1.8.0-py3-none-any.whl.metadata (3.3 kB)
Collecting packaging>=23.2 (from azure-iot==0.30.0b1)
Downloading packaging-25.0-py3-none-any.whl.metadata (3.3 kB)
Collecting rich<14.0,>=13.6 (from azure-iot==0.30.0b1)
Downloading rich-13.9.4-py3-none-any.whl.metadata (18 kB)
Collecting requests>=2.21.0 (from azure-core<2.0.0,>=1.24.0->azure-iot==0.30.0b1)
Downloading requests-2.32.5-py3-none-any.whl.metadata (4.9 kB)
Collecting typing-extensions>=4.6.0 (from azure-core<2.0.0,>=1.24.0->azure-iot==0.30.0b1)
Downloading typing_extensions-4.15.0-py3-none-any.whl.metadata (3.3 kB)
Collecting cryptography>=2.5 (from azure-identity<1.18.0,>=1.6.1->azure-iot==0.30.0b1)
Downloading cryptography-46.0.3-cp311-abi3-win32.whl.metadata (5.7 kB)
Collecting msal>=1.24.0 (from azure-identity<1.18.0,>=1.6.1->azure-iot==0.30.0b1)
Downloading msal-1.34.0-py3-none-any.whl.metadata (11 kB)
Collecting msal-extensions>=0.3.0 (from azure-identity<1.18.0,>=1.6.1->azure-iot==0.30.0b1)
Downloading msal_extensions-1.3.1-py3-none-any.whl.metadata (7.8 kB)
Collecting urllib3<3.0.0,>=2.2.2 (from azure-iot-device~=2.11->azure-iot==0.30.0b1)
Downloading urllib3-2.5.0-py3-none-any.whl.metadata (6.5 kB)
Collecting deprecation<3.0.0,>=2.1.0 (from azure-iot-device~=2.11->azure-iot==0.30.0b1)
Downloading deprecation-2.1.0-py2.py3-none-any.whl.metadata (4.6 kB)
Collecting paho-mqtt<2.0.0,>=1.6.1 (from azure-iot-device~=2.11->azure-iot==0.30.0b1)
Downloading paho-mqtt-1.6.1.tar.gz (99 kB)
Installing build dependencies: started
Installing build dependencies: finished with status 'done'
Getting requirements to build wheel: started
Getting requirements to build wheel: finished with status 'done'
ERROR: Exception:
Traceback (most recent call last):
File "C:\Program Files (x86)\Microsoft SDKs\Azure\CLI2\Lib\site-packages\pip_internal\cli\base_command.py", line 107, in _run_wrapper
status = _inner_run()
File "C:\Program Files (x86)\Microsoft SDKs\Azure\CLI2\Lib\site-packages\pip_internal\cli\base_command.py", line 98, in _inner_run
return self.run(options, args)
~~~~~~~~^^^^^^^^^^^^^^^
File "C:\Program Files (x86)\Microsoft SDKs\Azure\CLI2\Lib\site-packages\pip_internal\cli\req_command.py", line 85, in wrapper
return func(self, options, args)
File "C:\Program Files (x86)\Microsoft SDKs\Azure\CLI2\Lib\site-packages\pip_internal\commands\install.py", line 388, in run
requirement_set = resolver.resolve(
reqs, check_supported_wheels=not options.target_dir
)
File "C:\Program Files (x86)\Microsoft SDKs\Azure\CLI2\Lib\site-packages\pip_internal\resolution\resolvelib\resolver.py", line 99, in resolve
result = self._result = resolver.resolve(
~~~~~~~~~~~~~~~~^
collected.requirements, max_rounds=limit_how_complex_resolution_can_be
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "C:\Program Files (x86)\Microsoft SDKs\Azure\CLI2\Lib\site-packages\pip_vendor\resolvelib\resolvers\resolution.py", line 601, in resolve
state = resolution.resolve(requirements, max_rounds=max_rounds)
File "C:\Program Files (x86)\Microsoft SDKs\Azure\CLI2\Lib\site-packages\pip_vendor\resolvelib\resolvers\resolution.py", line 513, in resolve
failure_criterion = self._attempt_to_pin_criterion(name)
File "C:\Program Files (x86)\Microsoft SDKs\Azure\CLI2\Lib\site-packages\pip_vendor\resolvelib\resolvers\resolution.py", line 220, in _attempt_to_pin_criterion
criteria = self._get_updated_criteria(candidate)
File "C:\Program Files (x86)\Microsoft SDKs\Azure\CLI2\Lib\site-packages\pip_vendor\resolvelib\resolvers\resolution.py", line 211, in _get_updated_criteria
self._add_to_criteria(criteria, requirement, parent=candidate)
~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Program Files (x86)\Microsoft SDKs\Azure\CLI2\Lib\site-packages\pip_vendor\resolvelib\resolvers\resolution.py", line 150, in _add_to_criteria
if not criterion.candidates:
^^^^^^^^^^^^^^^^^^^^
File "C:\Program Files (x86)\Microsoft SDKs\Azure\CLI2\Lib\site-packages\pip_vendor\resolvelib\structs.py", line 194, in bool
return bool(self._sequence)
File "C:\Program Files (x86)\Microsoft SDKs\Azure\CLI2\Lib\site-packages\pip_internal\resolution\resolvelib\found_candidates.py", line 165, in bool
self._bool = any(self)
~~~^^^^^^
File "C:\Program Files (x86)\Microsoft SDKs\Azure\CLI2\Lib\site-packages\pip_internal\resolution\resolvelib\found_candidates.py", line 149, in
return (c for c in iterator if id(c) not in self._incompatible_ids)
^^^^^^^^
File "C:\Program Files (x86)\Microsoft SDKs\Azure\CLI2\Lib\site-packages\pip_internal\resolution\resolvelib\found_candidates.py", line 39, in _iter_built
candidate = func()
File "C:\Program Files (x86)\Microsoft SDKs\Azure\CLI2\Lib\site-packages\pip_internal\resolution\resolvelib\factory.py", line 180, in _make_candidate_from_link
base: BaseCandidate | None = self._make_base_candidate_from_link(
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
link, template, name, version
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "C:\Program Files (x86)\Microsoft SDKs\Azure\CLI2\Lib\site-packages\pip_internal\resolution\resolvelib\factory.py", line 226, in _make_base_candidate_from_link
self._link_candidate_cache[link] = LinkCandidate(
~~~~~~~~~~~~~^
link,
^^^^^
...<3 lines>...
version=version,
^^^^^^^^^^^^^^^^
)
^
File "C:\Program Files (x86)\Microsoft SDKs\Azure\CLI2\Lib\site-packages\pip_internal\resolution\resolvelib\candidates.py", line 318, in init
super().init(
~~~~~~~~~~~~~~~~^
link=link,
^^^^^^^^^^
...<4 lines>...
version=version,
^^^^^^^^^^^^^^^^
)
^
File "C:\Program Files (x86)\Microsoft SDKs\Azure\CLI2\Lib\site-packages\pip_internal\resolution\resolvelib\candidates.py", line 161, in init
self.dist = self._prepare()
~~~~~~~~~~~~~^^
File "C:\Program Files (x86)\Microsoft SDKs\Azure\CLI2\Lib\site-packages\pip_internal\resolution\resolvelib\candidates.py", line 238, in _prepare
dist = self._prepare_distribution()
File "C:\Program Files (x86)\Microsoft SDKs\Azure\CLI2\Lib\site-packages\pip_internal\resolution\resolvelib\candidates.py", line 329, in _prepare_distribution
return preparer.prepare_linked_requirement(self._ireq, parallel_builds=True)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Program Files (x86)\Microsoft SDKs\Azure\CLI2\Lib\site-packages\pip_internal\operations\prepare.py", line 543, in prepare_linked_requirement
return self._prepare_linked_requirement(req, parallel_builds)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^
File "C:\Program Files (x86)\Microsoft SDKs\Azure\CLI2\Lib\site-packages\pip_internal\operations\prepare.py", line 658, in _prepare_linked_requirement
dist = _get_prepared_distribution(
req,
...<3 lines>...
self.check_build_deps,
)
File "C:\Program Files (x86)\Microsoft SDKs\Azure\CLI2\Lib\site-packages\pip_internal\operations\prepare.py", line 77, in _get_prepared_distribution
abstract_dist.prepare_distribution_metadata(
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
build_env_installer, build_isolation, check_build_deps
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "C:\Program Files (x86)\Microsoft SDKs\Azure\CLI2\Lib\site-packages\pip_internal\distributions\sdist.py", line 55, in prepare_distribution_metadata
self._install_build_reqs(build_env_installer)
~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^
File "C:\Program Files (x86)\Microsoft SDKs\Azure\CLI2\Lib\site-packages\pip_internal\distributions\sdist.py", line 132, in _install_build_reqs
build_reqs = self._get_build_requires_wheel()
File "C:\Program Files (x86)\Microsoft SDKs\Azure\CLI2\Lib\site-packages\pip_internal\distributions\sdist.py", line 107, in _get_build_requires_wheel
return backend.get_requires_for_build_wheel()
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^
File "C:\Program Files (x86)\Microsoft SDKs\Azure\CLI2\Lib\site-packages\pip_internal\utils\misc.py", line 694, in get_requires_for_build_wheel
return super().get_requires_for_build_wheel(config_settings=cs)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^
File "C:\Program Files (x86)\Microsoft SDKs\Azure\CLI2\Lib\site-packages\pip_vendor\pyproject_hooks_impl.py", line 196, in get_requires_for_build_wheel
return self._call_hook(
~~~~~~~~~~~~~~~^
"get_requires_for_build_wheel", {"config_settings": config_settings}
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "C:\Program Files (x86)\Microsoft SDKs\Azure\CLI2\Lib\site-packages\pip_vendor\pyproject_hooks_impl.py", line 402, in _call_hook
raise BackendUnavailable(
...<4 lines>...
)
pip._vendor.pyproject_hooks._impl.BackendUnavailable: Cannot import 'setuptools.build_meta'
cli.azure.cli.core.extension.operations: Command '['C:\Program Files (x86)\Microsoft SDKs\Azure\CLI2\python.exe', '-m', 'pip', 'install', '--target', 'C:\Users\trainer\.azure\cliextensions\azure-iot', 'C:\Users\trainer\AppData\Local\Temp\tmph2pske_r\azure_iot-0.30.0b1-py3-none-any.whl', '--disable-pip-version-check', '--no-cache-dir']' returned non-zero exit status 2.
cli.azure.cli.core.extension.operations: Pip failed so deleting anything we might have installed at C:\Users\trainer.azure\cliextensions\azure-iot
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 734, 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 120, in handler
File "D:\a_work\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/cli/command_modules/extension/custom.py", line 16, in add_extension_cmd
File "D:\a_work\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/cli/core/extension/operations.py", line 343, in add_extension
File "D:\a_work\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/cli/core/extension/operations.py", line 172, in _add_whl_ext
knack.util.CLIError: An error occurred. Pip failed with status code 2. Use --debug for more information.
cli.azure.cli.core.azclierror: An error occurred. Pip failed with status code 2. Use --debug for more information.
az_command_data_logger: An error occurred. Pip failed with status code 2. Use --debug for more information.
cli.knack.cli: Event: Cli.PostExecute [<function AzCliLogging.deinit_cmd_metadata_logging at 0x039371B8>]
az_command_data_logger: exit code: 1
cli.main: Command ran in 10.613 seconds (init: 0.340, invoke: 10.273)
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 3951 in cache file under C:\Users\trainer.azure\telemetry\20251126125058694
telemetry.main: Begin creating telemetry upload process.
telemetry.process: Creating upload process: "C:\Program Files (x86)\Microsoft SDKs\Azure\CLI2\python.exe C:\Program Files (x86)\Microsoft SDKs\Azure\CLI2\Lib\site-packages\azure\cli\telemetry_init_.pyc C:\Users\trainer.azure C:\Users\trainer.azure\telemetry\20251126125058694"
telemetry.process: Return from creating process 3844
telemetry.main: Finish creating telemetry upload process.