Description
- Package Name: azureml-sdk
- Package Version: 1.60.0
- Operating System: Windows 11
- Python Version: 3.10.8
Describe the bug
We were using azureml-sdk==1.55.0
, where this was working. Updating to azureml-sdk==1.60.0
breaks the ability to build images connecting to a private pip repository hosted on ADO Artifacts.
We use a workspace connection to hold a private key for our ADO Artifact store, which is configured as a Central Feed Service to cache our pip packages.
We use pip_indexurl
in our CondaDependencies to force the Conda environment to use our private artifact store. This used to turn into an --index-url
command line flag to PIP, but now with the latest SDK this turns into --find-links
.
Unfortunately, this configuration leads pip to only look at the public pypi server, and it does not consult our private artifact store, so image builds fail.
To Reproduce
Steps to reproduce the behavior:
- Configure a private ADO artifact store to chain upstream to pypi.
- Create an AML environment with CondaDependencies including pip_indexurl set to the private ADO artifact store.
- Configure a workspace connection for the private ADO store with a valid access token.
- Build the environment.
- Notice the build fails, with a misleading error about missing python version:
2025-06-27T10:32:52: #10 80.63 ERROR: Ignored the following versions that require a different python version: 0.36.0 Requires-Python >=3.6,<3.10; 0.37.0 Requires-Python >=3.7,<3.10; 1.10.0 Requires-Python >=3.5,<3.9; 1.10.0.post1 Requires-Python >=3.5,<3.9; 1.10.0.post2 Requires-Python >=3.5,<3.9; 1.11.0 Requires-Python >=3.5,<3.9; 1.11.0.post1 Requires-Python >=3.5,<3.9; 1.11.0.post2 Requires-Python >=3.5,<3.9; 1.12.0 Requires-Python >=3.5,<3.9; 1.12.0.post1 Requires-Python >=3.5,<3.9; 1.12.0.post2 Requires-Python >=3.5,<3.9; 1.13.0 Requires-Python >=3.5,<3.9; 1.13.0.post1 Requires-Python >=3.5,<3.9; 1.13.0.post2 Requires-Python >=3.5,<3.9; 1.14.0 Requires-Python >=3.5,<3.9; 1.14.0.post1 Requires-Python >=3.5,<3.9; 1.14.0.post2 Requires-Python >=3.5,<3.9; 1.15.0 Requires-Python >=3.5,<3.9; 1.15.0.post1 Requires-Python >=3.5,<3.9; 1.16.0 Requires-Python >=3.5,<3.9; 1.16.0.post1 Requires-Python >=3.5,<3.9; 1.16.0.post2 Requires-Python >=3.5,<3.9; 1.17.0 Requires-Python >=3.5,<3.9; 1.17.0.post1 Requires-Python >=3.5,<3.9; 1.18.0 Requires-Python >=3.5,<3.9; 1.18.0.post1 Requires-Python >=3.5,<3.9; 1.18.0.post2 Requires-Python >=3.5,<3.9; 1.18.0.post3 Requires-Python >=3.5,<3.9; 1.18.0.post4 Requires-Python >=3.5,<3.9; 1.19.0 Requires-Python >=3.5,<3.9; 1.2.0 Requires-Python >=3.5,<3.9; 1.2.0.post1 Requires-Python >=3.5,<3.9; 1.2.0.post2 Requires-Python >=3.5,<3.9; 1.2.0.post3 Requires-Python >=3.5,<3.9; 1.20.0 Requires-Python >=3.5,<3.9; 1.20.0.post1 Requires-Python >=3.5,<3.9; 1.21.0 Requires-Python >=3.5,<3.9; 1.21.0.post1 Requires-Python >=3.5,<3.9; 1.21.0.post2 Requires-Python >=3.5,<3.9; 1.22.0 Requires-Python >=3.5,<3.9; 1.22.0.post1 Requires-Python >=3.5,<3.9; 1.23.0 Requires-Python >=3.5,<3.9; 1.23.0.post1 Requires-Python >=3.5,<3.9; 1.24.0 Requires-Python >=3.5,<3.9; 1.24.0.post1 Requires-Python >=3.5,<3.9; 1.24.0.post2 Requires-Python >=3.5,<3.9; 1.25.0 Requires-Python >=3.5,<3.9; 1.25.0.post1 Requires-Python >=3.5,<3.9; 1.26.0 Requires-Python >=3.5,<3.9; 1.26.0.post1 Requires-Python >=3.5,<3.9; 1.27.0 Requires-Python >=3.5,<3.9; 1.27.0.post1 Requires-Python >=3.5,<3.9; 1.28.0 Requires-Python >=3.5,<3.9; 1.28.0.post1 Requires-Python >=3.5,<3.9; 1.29.0 Requires-Python >=3.6,<3.9; 1.29.0.post1 Requires-Python >=3.6,<3.9; 1.3.0 Requires-Python >=3.5,<3.9; 1.3.0.post1 Requires-Python >=3.5,<3.9; 1.3.0.post2 Requires-Python >=3.5,<3.9; 1.30.0 Requires-Python >=3.6,<3.9; 1.31.0 Requires-Python >=3.6,<3.9; 1.32.0 Requires-Python >=3.6,<3.9; 1.33.0 Requires-Python >=3.6,<3.9; 1.33.0.post1 Requires-Python >=3.6,<3.9; 1.33.1 Requires-Python >=3.6,<3.9; 1.34.0 Requires-Python >=3.6,<3.9; 1.34.0.post1 Requires-Python >=3.6,<3.9; 1.34.1 Requires-Python >=3.6,<3.9; 1.35.0 Requires-Python >=3.6,<3.9; 1.35.1 Requires-Python >=3.6,<3.9; 1.36.0 Requires-Python >=3.6,<3.9; 1.36.1 Requires-Python >=3.6,<3.9; 1.37.0 Requires-Python >=3.6,<3.9; 1.38.0 Requires-Python >=3.6,<3.9; 1.38.0.post2 Requires-Python >=3.6,<3.9; 1.38.0.post3 Requires-Python >=3.6,<3.9; 1.38.1 Requires-Python >=3.6,<3.9; 1.39.0 Requires-Python >=3.6,<3.9; 1.39.1 Requires-Python >=3.6,<3.9; 1.4.0 Requires-Python >=3.5,<3.9; 1.4.0.post1 Requires-Python >=3.5,<3.9; 1.4.0.post2 Requires-Python >=3.5,<3.9; 1.40.0 Requires-Python >=3.6,<3.9; 1.41.0 Requires-Python >=3.6,<3.9; 1.41.1 Requires-Python >=3.6,<3.9; 1.41.1.post1 Requires-Python >=3.6,<3.9; 1.42.0 Requires-Python >=3.6,<3.9; 1.42.0.post1 Requires-Python >=3.6,<3.9; 1.43.0 Requires-Python >=3.6,<3.9; 1.43.0.post1 Requires-Python >=3.6,<3.9; 1.43.0.post2 Requires-Python >=3.6,<3.9; 1.44.0 Requires-Python >=3.6,<3.9; 1.45.0 Requires-Python >=3.6,<3.10; 1.46.0 Requires-Python >=3.6,<3.10; 1.46.0.post1 Requires-Python >=3.6,<3.10; 1.46.1 Requires-Python >=3.6,<3.10; 1.46.1.post1 Requires-Python >=3.6,<3.10; 1.47.0 Requires-Python >=3.6,<3.10; 1.47.0.post1 Requires-Python >=3.6,<3.10; 1.48.0 Requires-Python >=3.7,<3.10; 1.5.0 Requires-Python >=3.5,<3.9; 1.5.0.post1 Requires-Python >=3.5,<3.9; 1.5.0.post2 Requires-Python >=3.5,<3.9; 1.5.0.post3 Requires-Python >=3.5,<3.9; 1.5.0.post4 Requires-Python >=3.5,<3.9; 1.6.0 Requires-Python >=3.5,<3.9; 1.6.0.post1 Requires-Python >=3.5,<3.9; 1.7.0 Requires-Python >=3.5,<3.9; 1.8.0 Requires-Python >=3.5,<3.9; 1.8.0.post1 Requires-Python >=3.5,<3.9; 1.9.0 Requires-Python >=3.5,<3.9; 1.9.0.post1 Requires-Python >=3.5,<3.9; 3.0.0 Requires-Python >=3.11; 3.1.0 Requires-Python >=3.11; 3.1.1 Requires-Python >=3.11; 3.2.0 Requires-Python >=3.11; 3.2.1 Requires-Python >=3.11; 3.3.0 Requires-Python >=3.11; 3.3.1 Requires-Python >=3.11
2025-06-27T10:32:52: #10 80.63 ERROR: Could not find a version that satisfies the requirement msrc-azureml-runner==0.5.5 (from versions: none)
2025-06-27T10:32:52: #10 80.63 ERROR: No matching distribution found for msrc-azureml-runner==0.5.5
Expected behavior
Build completes correctly, with packages downloaded from private ADO artifact store, never the public pypi server.
Screenshots
If applicable, add screenshots to help explain your problem.
Additional context
The bug was introduced in a change to this line of code in the SDK:
azureml/core/conda_dependencies.py:179
-cd.set_pip_option("--find-links {}".format(pip_indexurl if pip_indexurl else _sdk_origin_url))
+cd.set_pip_option("--index-url {}".format(pip_indexurl if pip_indexurl else _sdk_origin_url))
When I make the change above, my image builds start working again.