Description:
It seems the new python3.12 universal2 packages released for macOS have been shipped with a version of pip (23.1.2) which contains a vendored dep that causes pip to crash at runtime.
ref:
pypa/pip#12053
python/typing_extensions#162
#108 (comment)
Action version:
actions/setup-python@v4
Platform:
Runner type:
Tools version:
3.12
Repro steps:
Full example can be seen here https://github.com/deric4/github-action-runner-reference/actions/runs/5286208770/attempts/1#summary-14311090932
action configuration
- name: set it upuses: actions/setup-python@v4id: setup-pythonwith:
python-version: ${{ matrix.python-version }}allow-prereleases: truecheck-latest: true*minimal workflow
name: setup python reproon:
workflow_dispatch:
permissions: {}defaults:
run:
shell: bash jobs:
dump-it-out:
name: "${{ matrix.os}} python-version:${{matrix.python-version}} dump out"runs-on: ${{ matrix.os }} strategy:
matrix:
os:
#- macos-10.15#- macos-11#- macos-12
- macos-13 python-version:
#- "3.9"#- "3.10"#- "3.11"
- "3.12"
- name: set it upuses: actions/setup-python@v4id: setup-pythonwith:
python-version: ${{ matrix.python-version }}allow-prereleases: truecheck-latest: true
- name: do the thingid: do-the-thingrun: | python3 --version --version # this will crash python3 -m pip debugExpected behavior:
Running python3.12 -m pip debug runs successfully.
Actual behavior:
Job is cancelled because pip crashes.

output
$ python3.12 --version --versionPython 3.12.0b2 (v3.12.0b2:e6c0efa25a, Jun 6 2023, 11:36:52) [Clang 13.0.0 (clang-1300.0.29.30)]
$ python3.12 -m pip debugWARNING: This command is only meant for debugging. Do not use this with automation for parsing and getting these details, since the output and options of this command may change without notice.pip version: pip 23.1.2 from /Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/site-packages/pip (python 3.12)sys.version: 3.12.0b2 (v3.12.0b2:e6c0efa25a, Jun 6 2023, 11:36:52) [Clang 13.0.0 (clang-1300.0.29.30)]sys.executable: /Library/Frameworks/Python.framework/Versions/3.12/bin/python3.12sys.getdefaultencoding: utf-8sys.getfilesystemencoding: utf-8locale.getpreferredencoding: UTF-8sys.platform: darwinsys.implementation: name: cpython'cert' config value: Not specifiedREQUESTS_CA_BUNDLE: NoneCURL_CA_BUNDLE: Nonepip._vendor.certifi.where(): /Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/site-packages/pip/_vendor/certifi/cacert.pempip._vendor.DEBUNDLED: Falsevendored library versions: CacheControl==0.12.11 colorama==0.4.6 distlib==0.3.6 distro==1.8.0 msgpack==1.0.5 packaging==21.3 platformdirs==3.2.0 pyparsing==3.0.9 pyproject-hooks==1.0.0 requests==2.28.2 certifi==2022.12.07 chardet==5.1.0 idna==3.4 urllib3==1.26.15 rich==13.3.3 (Unable to locate actual module version, using vendor.txt specified version) pygments==2.14.0ERROR: Exception:Traceback (most recent call last): File "/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/site-packages/pip/_internal/cli/base_command.py", line 169, in exc_logging_wrapper status = run_func(*args) ^^^^^^^^^^^^^^^ File "/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/site-packages/pip/_internal/commands/debug.py", line 195, in run show_vendor_versions() File "/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/site-packages/pip/_internal/commands/debug.py", line 101, in show_vendor_versions show_actual_vendor_versions(vendor_txt_versions) File "/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/site-packages/pip/_internal/commands/debug.py", line 81, in show_actual_vendor_versions actual_version = get_vendor_version_from_module(module_name) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/site-packages/pip/_internal/commands/debug.py", line 61, in get_vendor_version_from_module module = get_module_from_module_name(module_name) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/site-packages/pip/_internal/commands/debug.py", line 56, in get_module_from_module_name __import__(f"pip._vendor.{module_name}", globals(), locals(), level=0) File "/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/site-packages/pip/_vendor/typing_extensions.py", line 1174, in <module> class TypeVar(typing.TypeVar, _DefaultMixin, _root=True):TypeError: type 'typing.TypeVar' is not an acceptable base type
Description:
It seems the new python3.12 universal2 packages released for macOS have been shipped with a version of pip (23.1.2) which contains a vendored dep that causes pip to crash at runtime.
ref:
pypa/pip#12053
python/typing_extensions#162
#108 (comment)
Action version:
actions/setup-python@v4Platform:
Runner type:
Tools version:
3.12
Repro steps:
Full example can be seen here https://github.com/deric4/github-action-runner-reference/actions/runs/5286208770/attempts/1#summary-14311090932
action configuration
*minimal workflow
Expected behavior:
Running
python3.12 -m pip debugruns successfully.Actual behavior:
Job is cancelled because pip crashes.
output