Skip to content

macOS: universal package python3.12 crashes when running pip debug #684

Description

@deric4

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:

  • Ubuntu
  • macOS
  • Windows

Runner type:

  • Hosted
  • Self-hosted

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 debug

Expected behavior:

Running python3.12 -m pip debug runs successfully.

Actual behavior:

Job is cancelled because pip crashes.

image

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

Metadata

Metadata

Labels

bugSomething isn't working

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions