Upgrade pip and wheel for Python 3.13 Compatibility

XMLWordPrintableJSON

    • Type: Task
    • Resolution: Unresolved
    • Priority: Major - P3
    • None
    • Affects Version/s: None
    • Component/s: None
    • None
    • DevProd Correctness
    • Correctness 2026-01-26
    • None
    • None
    • None
    • None
    • None
    • None
    • None

      Upgrade pip and wheel for Python 3.13 Compatibility

      Problem

      Python 3.12+ removed the distutils module (PEP 594), which older versions of pip depend on. When creating virtual environments with Python 3.13 on Windows, pip installation fails if using an older pip version that requires distutils.

      Root Cause

      Python 3.12+ Breaking Change:

      • Python 3.12 removed the distutils module as part of PEP 594
      • pip versions older than 24.0 depend on distutils
      • Current pinned version (pip 21.0.1) fails on Python 3.12+

      Current versions by platform:

      • Windows Python 3.13: ships with pip 25.2
      • Linux v5 toolchain Python 3.10: has pip 25.1.1
      • Current pinned versions: pip 21.0.1 (from SERVER-53250, Mar 2021), wheel 0.37.0 (from SERVER-57072, Aug 2021)

      Historical Context:

      • pip 21.0.1 was pinned to use the new pip resolver (released Jan 2021)
      • wheel 0.37.0 was pinned as latest stable version (released Aug 2021, just 2 days before commit)
      • Both were simply upgraded to latest stable versions at the time, with no hard compatibility constraints

      Solution

      Update the venv setup script to detect Python version and use appropriate versions:

      • Python 3.12+: Use pip 25.3 and wheel 0.45.0 (latest stable versions)
      • Python 3.11 and earlier: Keep pip 21.0.1 and wheel 0.37.0 (existing, working versions)

      This maintains backward compatibility while enabling Python 3.13 support. We're upgrading wheel alongside pip to follow the historical pattern of keeping both packages at current stable versions.

      References

            Assignee:
            Nicholas Jefferies
            Reporter:
            Nicholas Jefferies
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated: