Project

General

Profile

Actions

Enhancement #73645

closed

pybind: PEP 517 required by modern pip

Added by Voja Molani 5 months ago. Updated 4 months ago.

Status:
Resolved
Priority:
Normal
Assignee:
-
Category:
-
Target version:
-
% Done:

0%

Source:
Backport:
tentacle, squid,reef
Reviewed:
Affected Versions:
ceph-qa-suite:
Pull request ID:
Crash signature (v1):
Crash signature (v2):
Tags (freeform):
backport_processed
Fixed In:
v20.3.0-3805-g211482f6a3
Released In:
Upkeep Timestamp:
2025-11-03T12:28:55+00:00

Description

pip 25.3 requires PEP 517 pyproject.toml files instead of just using current setup.py in src/pybind/* .
pip release notes about it: https://pip.pypa.io/en/latest/news/
PEP 517: https://peps.python.org/pep-0517/
PEP 518: https://peps.python.org/pep-0518/

This is a problem because readthedocs now uses pip 25.3 by default which causes the src/pybind/* job to fail, for example from https://app.readthedocs.org/projects/ceph/builds/30075615/ :

python -m pip install --exists-action=w --no-cache-dir -r admin/doc-pybind.txt  
Processing ./src/pybind/rados
  Installing build dependencies: started
  Installing build dependencies: finished with status 'done'
  Getting requirements to build wheel: started
  Getting requirements to build wheel: finished with status 'error'
  error: subprocess-exited-with-error

  × Getting requirements to build wheel did not run successfully.
  │ exit code: 1
  ╰─> [2 lines of output]
      ERROR: Cannot find Cythonized file rados.c
      WARNING: Cython is not installed.
      [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
ERROR: Failed to build 'file:///home/docs/checkouts/readthedocs.org/user_builds/ceph/checkouts/66058/src/pybind/rados' when getting requirements to build wheel

I am currently looking at implementing a workaround for RTD builds to use pip 25.2. A quick and dirty change confirms the RTD build succeeds with pip 25.2.


Related issues 3 (0 open3 closed)

Copied to Ceph - Backport #73697: tentacle: pybind: PEP 517 required by modern pipResolvedNizamudeen AActions
Copied to Ceph - Backport #73705: squid: pybind: PEP 517 required by modern pipResolvedNizamudeen AActions
Copied to Ceph - Backport #73706: reef: pybind: PEP 517 required by modern pipResolvedNizamudeen AActions
Actions #1

Updated by Nizamudeen A 5 months ago

  • Status changed from New to Fix Under Review
  • Backport set to tentacle
  • Pull request ID set to 66059
Actions #2

Updated by Nizamudeen A 5 months ago

  • Status changed from Fix Under Review to Pending Backport
Actions #3

Updated by Upkeep Bot 5 months ago

  • Copied to Backport #73697: tentacle: pybind: PEP 517 required by modern pip added
Actions #4

Updated by Upkeep Bot 5 months ago

  • Tags (freeform) set to backport_processed
Actions #5

Updated by Voja Molani 5 months ago

Please note that the listed PR 66059 should be considered a temporary workaround only. Pip cannot be permanently pinned to an old version.

The long-term fix should be to add the PEP 517 pyproject.toml files to right places.

Actions #6

Updated by Upkeep Bot 5 months ago

  • Merge Commit set to 211482f6a3e0da435d668b26a9ee0238365fe9cc
  • Fixed In set to v20.3.0-3805-g211482f6a3
  • Upkeep Timestamp set to 2025-11-03T12:28:55+00:00
Actions #7

Updated by Yuma Ogami 5 months ago

This problem also occurs in squid , so could you please backport it to squid as well?

Actions #8

Updated by Nizamudeen A 5 months ago

  • Backport changed from tentacle to tentacle, squid,reef
Actions #9

Updated by Nizamudeen A 5 months ago

  • Tags (freeform) deleted (backport_processed)
Actions #10

Updated by Upkeep Bot 5 months ago

  • Copied to Backport #73705: squid: pybind: PEP 517 required by modern pip added
Actions #11

Updated by Upkeep Bot 5 months ago

  • Copied to Backport #73706: reef: pybind: PEP 517 required by modern pip added
Actions #12

Updated by Upkeep Bot 5 months ago

  • Tags (freeform) set to backport_processed
Actions #13

Updated by Nizamudeen A 4 months ago

  • Status changed from Pending Backport to Resolved
Actions

Also available in: Atom PDF