Skip to content

[3.10] gh-145455: Constrain setuptools to a version with pkg_resources#145456

Merged
hugovk merged 1 commit intopython:3.10from
encukou:constrain-setuptools
Mar 5, 2026
Merged

[3.10] gh-145455: Constrain setuptools to a version with pkg_resources#145456
hugovk merged 1 commit intopython:3.10from
encukou:constrain-setuptools

Conversation

@encukou
Copy link
Member

@encukou encukou commented Mar 3, 2026

Copy link
Member

@hugovk hugovk left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you!

Copy link
Member

@StanFromIreland StanFromIreland left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Was this not achieved by #144781?

@encukou
Copy link
Member Author

encukou commented Mar 4, 2026

Good point! I did miss the issue-less PR.

But, if I'm reading things correctly, docsbuild-scripts don't use make venv; they use Doc/requirements.txt (which includes -c constraints.txt). So, the #144781 change is good to have (we won't upgrade setuptools only to downgrade it), but we still need this one.
(Maybe make venv could skip preinstalling setuptools altogether, but that's an unnecessary change, so, not in 3.10.)

@hugovk
Copy link
Member

hugovk commented Mar 4, 2026

But, if I'm reading things correctly, docsbuild-scripts don't use make venv; they use Doc/requirements.txt (which includes -c constraints.txt).

That's a link to release-tools, not docsbuild-scripts, but yes, release-tools installs from Doc/requirements.txt 👍

@hugovk
Copy link
Member

hugovk commented Mar 5, 2026

Merging this so I can rebuild the docs for 3.10. Right now, we're getting the opaque "Missing the required blurb or sphinx-build" error:

$ /srv/docsbuild/venv/bin/python /srv/docsbuild/scripts/build_docs.py --force --branches 3.10 --select-output only-html --languages en
2026-03-05 20:21:48,088 INFO: Reading environment variables from /etc/xdg/docsbuild-scripts.
2026-03-05 20:21:48,089 INFO: You can override settings in /srv/docsbuild/.config/docsbuild-scripts.
2026-03-05 20:21:48,091 DEBUG: Setting SENTRY_DSN in environment.
2026-03-05 20:21:48,091 DEBUG: Setting FASTLY_SERVICE_ID in environment.
2026-03-05 20:21:48,091 DEBUG: Setting FASTLY_TOKEN in environment.
2026-03-05 20:21:48,091 DEBUG: Setting PYTHON_DOCS_ENABLE_ANALYTICS in environment.
2026-03-05 20:21:48,150 INFO: Full build start.
2026-03-05 20:21:48,152 DEBUG: Starting new HTTPS connection (1): peps.python.org:443
2026-03-05 20:21:48,233 DEBUG: https://peps.python.org:443 "GET /api/release-cycle.json HTTP/1.1" 200 0
2026-03-05 20:21:48,233 WARNING: Saw invalid version status '', expected to be one of EOL, bugfix, end-of-life, feature, in development, pre-release, prerelease, security, security-fixes, stable. Context: {'branch': '', 'pep': 826, 'status': '', 'first_release': '2027-10-06', 'end_of_life': '2032-10', 'release_manager': 'Savannah Ostrowski'}
2026-03-05 20:21:48,299 DEBUG en/3.10: Run: 'git -C /srv/docsbuild/cpython-only-html fetch'
2026-03-05 20:21:50,115 INFO en/3.10: Running.
2026-03-05 20:21:50,115 DEBUG en/3.10: Run: 'git -C /srv/docsbuild/cpython-only-html show-ref -s origin/3.10'
2026-03-05 20:21:50,120 DEBUG en/3.10: Run: 'git -C /srv/docsbuild/cpython-only-html reset --hard 27c64549324915826947e6c7d479d16e95678cc6 --'
2026-03-05 20:21:53,758 DEBUG en/3.10: Run: 'git -C /srv/docsbuild/cpython-only-html clean -dfqx'
2026-03-05 20:21:54,120 DEBUG en/3.10: Run: 'git -C /srv/docsbuild/cpython-only-html rev-parse HEAD'
2026-03-05 20:21:54,124 DEBUG en/3.10: Run: 'git -C /srv/docsbuild/cpython-only-html diff --name-only 6322edd260e8cad4b09636e05ddfb794a96a0451 27c64549324915826947e6c7d479d16e95678cc6'
2026-03-05 20:21:54,200 INFO en/3.10: Should rebuild: Doc/ has changed (from 6322edd260e8cad4b09636e05ddfb794a96a0451 to 27c64549324915826947e6c7d479d16e95678cc6)
2026-03-05 20:21:57,045 DEBUG en/3.10: Run: '/srv/docsbuild/venv-3.10/bin/python -m pip install --upgrade --upgrade-strategy=eager python-docs-theme -rrequirements.txt jieba 'PyStemmer~=2.2.0' standard-imghdr 'matplotlib>=3''
2026-03-05 20:22:02,048 DEBUG en/3.10: Run: '/srv/docsbuild/venv-3.10/bin/python -m pip freeze --all'
2026-03-05 20:22:02,646 INFO en/3.10: Build start.
2026-03-05 20:22:02,647 INFO en/3.10: Running make autobuild-stable-html
2026-03-05 20:22:02,649 DEBUG en/3.10: Run: 'make -C /srv/docsbuild/cpython-only-html/Doc PYTHON=/srv/docsbuild/venv-3.10/bin/python SPHINXBUILD=/srv/docsbuild/venv-3.10/bin/sphinx-build BLURB=/srv/docsbuild/venv-3.10/bin/blurb VENVDIR=/srv/docsbuild/venv-3.10 'SPHINXOPTS=-D latex_engine=xelatex -D latex_elements.inputenc= -D latex_elements.fontenc= -t create-social-cards -D ogp_site_url=https://docs.python.org/3.10/' SPHINXERRORHANDLING= autobuild-stable-html'
2026-03-05 20:22:02,654 DEBUG en/3.10: >>>> make: Entering directory '/srv/docsbuild/cpython-only-html/Doc'
2026-03-05 20:22:02,754 DEBUG en/3.10: >>>> make[1]: Entering directory '/srv/docsbuild/cpython-only-html/Doc'
2026-03-05 20:22:02,755 DEBUG en/3.10: >>>> make dist-html SPHINXOPTS='-D latex_engine=xelatex -D latex_elements.inputenc= -D latex_elements.fontenc= -t create-social-cards -D ogp_site_url=https://docs.python.org/3.10/ -Ea -A daily=1'
2026-03-05 20:22:02,757 DEBUG en/3.10: >>>> make[2]: Entering directory '/srv/docsbuild/cpython-only-html/Doc'
2026-03-05 20:22:03,114 DEBUG en/3.10: >>>> # archive the HTML
2026-03-05 20:22:03,117 DEBUG en/3.10: >>>> mkdir -p dist
2026-03-05 20:22:03,120 DEBUG en/3.10: >>>> make html
2026-03-05 20:22:03,124 DEBUG en/3.10: >>>> make[3]: Entering directory '/srv/docsbuild/cpython-only-html/Doc'
2026-03-05 20:22:03,124 DEBUG en/3.10: >>>> mkdir -p build
2026-03-05 20:22:04,419 DEBUG en/3.10: >>>>
2026-03-05 20:22:04,419 DEBUG en/3.10: >>>> Missing the required blurb or sphinx-build tools.
2026-03-05 20:22:04,419 DEBUG en/3.10: >>>> Please run 'make venv' to install local copies.
2026-03-05 20:22:04,419 DEBUG en/3.10: >>>>
2026-03-05 20:22:04,420 DEBUG en/3.10: >>>> make[3]: *** [Makefile:53: build] Error 1
2026-03-05 20:22:04,420 DEBUG en/3.10: >>>> make[3]: Leaving directory '/srv/docsbuild/cpython-only-html/Doc'
2026-03-05 20:22:04,420 DEBUG en/3.10: >>>> make[2]: *** [Makefile:176: dist-html] Error 2
2026-03-05 20:22:04,420 DEBUG en/3.10: >>>> make[2]: Leaving directory '/srv/docsbuild/cpython-only-html/Doc'
2026-03-05 20:22:04,420 DEBUG en/3.10: >>>> make[1]: *** [Makefile:257: autobuild-dev-html] Error 2
2026-03-05 20:22:04,420 DEBUG en/3.10: >>>> make[1]: Leaving directory '/srv/docsbuild/cpython-only-html/Doc'
2026-03-05 20:22:04,420 DEBUG en/3.10: >>>> make: *** [Makefile:270: autobuild-stable-html] Error 2
2026-03-05 20:22:04,420 DEBUG en/3.10: >>>> make: Leaving directory '/srv/docsbuild/cpython-only-html/Doc'
2026-03-05 20:22:04,420 ERROR en/3.10: Badly handled exception, human, please help.
Traceback (most recent call last):
  File "/srv/docsbuild/scripts/build_docs.py", line 638, in run
    self.build()
    ~~~~~~~~~~^^
  File "/srv/docsbuild/scripts/build_docs.py", line 731, in build
    run_with_logging((
    ~~~~~~~~~~~~~~~~^^
        "make",
        ^^^^^^^
    ...<8 lines>...
        maketarget,
        ^^^^^^^^^^^
    ))
    ^^
  File "/srv/docsbuild/scripts/build_docs.py", line 420, in run_with_logging
    raise subprocess.CalledProcessError(return_code, cmd[0])
subprocess.CalledProcessError: Command 'make' returned non-zero exit status 2.
2026-03-05 20:22:04,491 DEBUG en/3.10: Starting new HTTPS connection (1): sentry.io:443
2026-03-05 20:22:04,493 INFO: Starting sitemap generation...
2026-03-05 20:22:04,508 INFO: Copying 404 page...
2026-03-05 20:22:04,509 INFO: Copying robots.txt...
2026-03-05 20:22:04,510 DEBUG: Purging https://docs.python.org/robots.txt from CDN
2026-03-05 20:22:04,511 DEBUG: Starting new HTTPS connection (1): docs.python.org:443
2026-03-05 20:22:04,613 DEBUG: https://docs.python.org:443 "PURGE /robots.txt HTTP/1.1" 200 0
2026-03-05 20:22:04,613 INFO: Creating major and development version symlinks...
2026-03-05 20:22:04,614 INFO: Full build done (16s).
2026-03-05 20:22:04,628 DEBUG: https://sentry.io:443 "POST /api/1307574/envelope/ HTTP/1.1" 200 0
2026-03-05 20:22:04,668 DEBUG: https://sentry.io:443 "POST /api/1307574/envelope/ HTTP/1.1" 200 0

@hugovk hugovk merged commit 1b49478 into python:3.10 Mar 5, 2026
16 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants