Skip to content

Pin pip <26.0 to fix broken requirements upgrade PRs#522

Merged
bmtcril merged 1 commit intoopenedx:masterfrom
irtazaakram:pin-pip
Feb 3, 2026
Merged

Pin pip <26.0 to fix broken requirements upgrade PRs#522
bmtcril merged 1 commit intoopenedx:masterfrom
irtazaakram:pin-pip

Conversation

@irtazaakram
Copy link
Member

Description

pip==26.0 introduces a breaking change that causes requirements upgrade PRs to fail when using pip-tools. As a result, make upgrade is currently broken both locally and in CI.

This PR pins pip to <26.0 as a temporary mitigation until pip-tools releases a compatible fix.

Upstream issue tracking this breakage:
jazzband/pip-tools#2319


Error

pip install -qr requirements/pip-tools.txt

Notice:  A new release of pip is available: 25.3 -> 26.0
Notice:  To update, run: pip install --upgrade pip
pip install -qr requirements/pip.txt

Notice:  A new release of pip is available: 25.3 -> 26.0
Notice:  To update, run: pip install --upgrade pip
# Make sure to compile files after any other files they include!
pip-compile --upgrade  --allow-unsafe -o requirements/pip.txt requirements/pip.in
WARNING: --strip-extras is becoming the default in version 8.0.0. To silence this warning, either use --strip-extras to opt into the new default or use --no-strip-extras to retain the existing behavior.
#
# This file is autogenerated by pip-compile with Python 3.11
# by the following command:
#
#    make upgrade
#
packaging==26.0
    # via wheel
wheel==0.46.3
    # via -r requirements/pip.in

# The following packages are considered to be unsafe in a requirements file:
pip==26.0
    # via -r requirements/pip.in
setuptools==80.10.2
    # via -r requirements/pip.in
pip-compile --upgrade  -o requirements/pip-tools.txt requirements/pip-tools.in
WARNING: --strip-extras is becoming the default in version 8.0.0. To silence this warning, either use --strip-extras to opt into the new default or use --no-strip-extras to retain the existing behavior.
#
# This file is autogenerated by pip-compile with Python 3.11
# by the following command:
#
#    make upgrade
#
build==1.4.0
    # via pip-tools
click==8.3.1
    # via pip-tools
packaging==26.0
    # via
    #   build
    #   wheel
pip-tools==7.5.2
    # via -r requirements/pip-tools.in
pyproject-hooks==1.2.0
    # via
    #   build
    #   pip-tools
wheel==0.46.3
    # via pip-tools

# The following packages are considered to be unsafe in a requirements file:
# pip
# setuptools
pip install -qr requirements/pip.txt
pip install -qr requirements/pip-tools.txt
pip-compile --upgrade  -o requirements/base.txt requirements/base.in
Traceback (most recent call last):
  File "/opt/hostedtoolcache/Python/3.11.14/x64/bin/pip-compile", line 7, in <module>
    sys.exit(cli())
             ^^^^^
  File "/opt/hostedtoolcache/Python/3.11.14/x64/lib/python3.11/site-packages/click/core.py", line 1485, in __call__
    return self.main(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/hostedtoolcache/Python/3.11.14/x64/lib/python3.11/site-packages/click/core.py", line 1406, in main
    rv = self.invoke(ctx)
         ^^^^^^^^^^^^^^^^
  File "/opt/hostedtoolcache/Python/3.11.14/x64/lib/python3.11/site-packages/click/core.py", line 1269, in invoke
    return ctx.invoke(self.callback, **ctx.params)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/hostedtoolcache/Python/3.11.14/x64/lib/python3.11/site-packages/click/core.py", line 824, in invoke
    return callback(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/hostedtoolcache/Python/3.11.14/x64/lib/python3.11/site-packages/click/decorators.py", line 34, in new_func
    return f(get_current_context(), *args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/hostedtoolcache/Python/3.11.14/x64/lib/python3.11/site-packages/piptools/scripts/compile.py", line 475, in cli
    prereleases=repository.finder.allow_all_prereleases or pre,
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: 'PackageFinder' object has no attribute 'allow_all_prereleases'
make: *** [Makefile:28: upgrade] Error 1

@farhan
Copy link

farhan commented Feb 3, 2026

@bmtcril Please merge this, assuming you will have rights to merge it.

@bmtcril bmtcril merged commit f3f11b4 into openedx:master Feb 3, 2026
8 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants