Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add support for Python 3.12. #2172

Merged
merged 3 commits into from
Jul 11, 2023
Merged

Commits on Jul 6, 2023

  1. Add support for Python 3.12.

    The crux here is supporting a version of Pip that works in 3.12. There
    is no such released version yet; so this change adds an unreleased
    Pip version but goes to some length to hide this version from users
    and make it only activatable by those in the know / CI. What follows
    is fixing or adjusting many tests. The result is Pex known to work with
    Python 3.12 ahead of its release by several months and the spectre of
    Pex 3 / a Pex branch split, etc., dispelled.
    
    It turns out Pex can still ship supporting Python 2.7, 3.5, etc.
    along side supprting 3.12. The main trick here is to use
    `python3.12 -mvenv` to spirit up a bootstrap Pip that works at least
    enough to install the unreleased Pip that truly works with Python 3.12.
    Previously all Pip version bootstrapping was handled exclusively by the
    vendored Pip.
    jsirois committed Jul 6, 2023
    Configuration menu
    Copy the full SHA
    746d863 View commit details
    Browse the repository at this point in the history

Commits on Jul 10, 2023

  1. Review feedback.

    jsirois committed Jul 10, 2023
    Configuration menu
    Copy the full SHA
    7225f3f View commit details
    Browse the repository at this point in the history
  2. Avoid bad cached wheel zips.

    Move from `installed_wheel_zips` to `packed_wheels` for the packed
    layout wheel zip cache. This avoids reading old bad `../` zip entries
    under Python 3.12+ while allowing co-existence.
    jsirois committed Jul 10, 2023
    Configuration menu
    Copy the full SHA
    3769c80 View commit details
    Browse the repository at this point in the history