Azure / Azure/azure-cli-extensions

Azure ML extension fails to install with file not found

Open
#8,966 2 comments 0 reactions 0 assignees View on GitHub
bug Machine Learning Service Attention
Dominant language
Python
Stars
454
Forks
1.7k
Avg merge
2d 19h
Merged PRs (30d)
64

Description

### Describe the bug

Repro steps:
1) Uninstall any az command line
2) Make sure this path no longer exists, `"C:\Program Files\Microsoft SDKs\Azure\CLI2"`
3) reboot computer
2) fresh install using `winget install --id Microsoft.AzureCLI` (I got version 2.75.0)
2) az extension add -n ml

Fails with this error:

os.path.normpath(get_win_folder("CSIDL_COMMON_APPDATA"))
> FileNotFoundError: [WinError 2] The system cannot find the file specified

### Related command

az extension add -n ml

### Errors

DEBUG: cli.azure.cli.core.extension.operations: Traceback (most recent call last):
File "", line 198, in _run_module_as_main
File "", line 88, in _run_code
File "C:\Program Files\Microsoft SDKs\Azure\CLI2\Lib\site-packages\pip\__main__.py", line 24, in
sys.exit(_main())
^^^^^^^
File "C:\Program Files\Microsoft SDKs\Azure\CLI2\Lib\site-packages\pip\_internal\cli\main.py", line 64, in main
cmd_name, cmd_args = parse_command(args)
^^^^^^^^^^^^^^^^^^^
File "C:\Program Files\Microsoft SDKs\Azure\CLI2\Lib\site-packages\pip\_internal\cli\main_parser.py", line 78, in parse_command
general_options, args_else = parser.parse_args(args)
^^^^^^^^^^^^^^^^^^^^^^^
File "optparse.py", line 1371, in parse_args
values = self.get_default_values()
^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Program Files\Microsoft SDKs\Azure\CLI2\Lib\site-packages\pip\_internal\cli\parser.py", line 279, in get_default_values
self.config.load()
File "C:\Program Files\Microsoft SDKs\Azure\CLI2\Lib\site-packages\pip\_internal\configuration.py", line 124, in load
self._load_config_files()
File "C:\Program Files\Microsoft SDKs\Azure\CLI2\Lib\site-packages\pip\_internal\configuration.py", line 246, in _load_config_files
config_files = dict(self.iter_config_files())
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Program Files\Microsoft SDKs\Azure\CLI2\Lib\site-packages\pip\_internal\configuration.py", line 339, in iter_config_files
config_files = get_configuration_files()
^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Program Files\Microsoft SDKs\Azure\CLI2\Lib\site-packages\pip\_internal\configuration.py", line 70, in get_configuration_files
os.path.join(path, CONFIG_BASENAME) for path in appdirs.site_config_dirs("pip")
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Program Files\Microsoft SDKs\Azure\CLI2\Lib\site-packages\pip\_internal\utils\appdirs.py", line 48, in site_config_dirs
dirval = _appdirs.site_config_dir(appname, appauthor=False, multipath=True)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Program Files\Microsoft SDKs\Azure\CLI2\Lib\site-packages\pip\_vendor\platformdirs\__init__.py", line 146, in site_config_dir
).site_config_dir
^^^^^^^^^^^^^^^
File "C:\Program Files\Microsoft SDKs\Azure\CLI2\Lib\site-packages\pip\_vendor\platformdirs\windows.py", line 67, in site_config_dir
return self.site_data_dir
^^^^^^^^^^^^^^^^^^
File "C:\Program Files\Microsoft SDKs\Azure\CLI2\Lib\site-packages\pip\_vendor\platformdirs\windows.py", line 56, in site_data_dir
path = os.path.normpath(get_win_folder("CSIDL_COMMON_APPDATA"))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Program Files\Microsoft SDKs\Azure\CLI2\Lib\site-packages\pip\_vendor\platformdirs\windows.py", line 209, in get_win_folder_from_registry
directory, _ = winreg.QueryValueEx(key, shell_folder_name)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
FileNotFoundError: [WinError 2] The system cannot find the file specified

### Issue script & Debug output

[debug.log](https://github.com/user-attachments/files/21223382/debug.log)

### Expected behavior

should success with no error.

### Environment Summary

azure-cli 2.75.0
core 2.75.0
telemetry 1.1.0
Dependencies:
msal 1.33.0b1
azure-mgmt-resource 23.3.0

### Additional context

_No response_

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.