Open miladh opened 2 days ago
Thanks for the feedback! We are routing this to the appropriate team for follow-up. cc @Azure/azure-ml-sdk @azureml-github.
Yes, same for me. It's now a blocker for my CI pipelines.
This is no blocking all my ML pipelines
This is blocking our pipelines also
Thanks for the pointer to azure-identity
@miladh – this works for me as a workaround on CI:
$ az extension add --upgrade --name ml -y
$ sudo /opt/az/bin/python3 -m pip install azure-identity==1.17.1
(use at your own risk)
Also a blocker for me (muliple training pipelines)
Thanks for the pointer to
azure-identity
@miladh – this works for me as a workaround on CI:$ az extension add --upgrade --name ml -y $ sudo /opt/az/bin/python3 -m pip install azure-identity==1.17.1
(use at your own risk)
This workaround did work on our case.
Appears that there is some intermingling of dependencies.
Looking at where CLI extension dependencies are installed for me, (~/.azure/cliextensions/ml
), I do see that there are compatible versions of azure-core
and azure-identity
installed. However, the versions of these packages installed in the azure-cli
Python virtual environment (e.g. /opt/az/lib/python3.11/site-packages/
) seem to take precedence at runtime causing incompatibilities.
I mentioned this in the linked azure-cli issue, but I think something may need updating in the dependency resolution logic when installing an extension. Ideally, azure-cli extension Python requirements should remain compatible with the base azure-cli requirements when the extension is installed (i.e. azure-identity 1.17.1 should automatically have been installed with the ML extension).
I believe the workaround, as mentioned above, is to install an older version of azure-identity in whatever virtual environment azure-cli is using.
Example workarounds:
Linux:
sudo /opt/az/bin/python3 -m pip install azure-identity==1.17.1
Windows (in elevated/administrator terminal):
C:\"Program Files (x86)"\"Microsoft SDKs"\Azure\CLI2\python.exe -m pip install azure-identity==1.17.1
Not sure about Mac, but probably just need to run the python executable somewhere in /opt/homebrew/Cellar/azure-cli/<version>/libexec/
?
I think you can glean the location of the environment your azure-cli is using based on the error message:
cannot import name 'AccessTokenInfo' from 'azure.core.credentials' (/opt/az/lib/python3.11/site-packages/azure/core/credentials.py)
-> Need to use python executable somewhere in /opt/az
@pvaneck for Linux, the workaround works. On my Windows machine, I ran the command (64-bit version), but it doesn't work.
Same issue here - stopping all of our CI pipelines.
@toby-coleman As a temporary solution, you can add the following to your requirements.txt for a quick CI pipelines fix:
azure-identity==1.17.1
@pvaneck for Linux, the workaround works. On my Windows machine, I ran the command (64-bit version), but it doesn't work.
For our azure pipelines the following command works
C:\"Program Files"\"Microsoft SDKs"\Azure\CLI2\python.exe -m pip install azure-identity==1.17.1
This issue has been resolved. Please retry.
az extension add --name ml --version 2.30.0
Describe the bug
In this PR, the minimum version of azure-core was updated to include the new
SupportTokenInfo
protocol andAccessTokenInfo
class. However, when attempting to install the Azure ML extension using:the following error occurs:
As this issue is currently disrupting our CI pipelines, we would be grateful for any guidance you can provide to help us address it promptly.
Possible Cause
This issue seems to arise because the Azure ML extension installs
azure_identity-1.18.0
, which relies onAccessTokenInfo
fromazure.core.credentials
. However,azure-cli
version2.64.0
still uses an older version of azure-core (1.28.0
), and hence the error above is thrown.For reference, here’s the azure-cli requirements file.
To Reproduce Steps to reproduce the behavior:
az extension add --name ml