Install setuptools_scm via pip to fix vcs_versioning build failure#610
Merged
Conversation
setup.py's setup_requires=['setuptools_scm'] uses the deprecated fetch_build_eggs path, which fetches setuptools_scm as an egg but not its transitive dependency vcs_versioning (split out in setuptools_scm 10.x), causing ModuleNotFoundError during build. Pip-installing setuptools_scm satisfies the requirement (resolving vcs_versioning) and skips the egg-fetch path.
Collaborator
Author
|
@microsoft-github-policy-service rerun |
…cnow() - UsePythonVersion versionSpec '3.10.x' -> '3.10' to satisfy the hosted-agent recommendation to avoid pinning a patch version. - Replace datetime.utcnow() (deprecated, slated for removal) with datetime.now(timezone.utc).replace(tzinfo=None), preserving the naive-UTC value the test relies on.
nytian
approved these changes
Jul 9, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Problem
Follow-up to #609. With setuptools upgraded to >= 69.3.0, the build now fails earlier with:
Root cause
setup.py declares
setup_requires=['setuptools_scm'], which triggers setuptools' deprecatedfetch_build_eggspath. That path fetches setuptools_scm as an egg into.eggs/but does NOT install its transitive dependencyvcs_versioning(split out as a separate distribution in setuptools_scm 10.x). Importing setuptools_scm then fails.This did not surface in #609's local simulation because that run happened to have setuptools_scm already pip-installed (which also pulls vcs_versioning), masking the egg-fetch path the agents actually use.
Fix
Install
setuptools_scmvia pip in both pipelines. Once the requirement is already satisfied in the environment, setuptools skips the deprecated egg-fetch entirely, and pip has resolvedvcs_versioningtransitively.Verification
Reproduced the agent path in a clean Python 3.10 venv (requirements +
setuptools>=69.3.0 wheel, no explicit setuptools_scm) ->ModuleNotFoundError: No module named 'vcs_versioning'. After addingpip install setuptools_scmthe build succeeds and still emits the PEP 625 normalizedazure_functions_durable-*.tar.gz.