Skip to content

Seeing AttributeError with pip==25.1.1 (on macOS) #5915

@reactive-firewall

Description

@reactive-firewall

Note

Possibly a regression or variant:
I'm seeing Similar AttributeError as before on MacOS but with: type_param.__default__

Summary

upgrading to pip==25.1.1 on macOS breaks rustpython -m pip (works with CPython 3.9.6 (builtin) and CPython 3.13.5 (stable) )

Details

...
File "/User/username/.local/lib/rustpython3.13/site-packages/pip/_internal/utils/misc.py", line 44, in <module>
    from pip._internal.utils.retry import retry
  File "/Users/username/.local/lib/rustpython3.13/site-packages/pip/_internal/utils/retry.py", line 8, in <module>
    P = ParamSpec("P")
  File "/Users/username/.local/lib/rustpython3.13/site-packages/pip/_vendor/typing_extensions.py", line 1768, in __new__
    _set_default(paramspec, default)
  File "/Users/username/.local/lib/rustpython3.13/site-packages/pip/_vendor/typing_extensions.py", line 1613, in _set_default
    type_param.__default__ = default
AttributeError: attribute '__default__' of 'ParamSpec' objects is not writable

Full steps to reproduce on macOS

  1. (optional) cleanup and reset rustpython pip:
cargo uninstall rustpython || :
rm -vf ~/.local/bin/pip3.13 || :
rm -vf ~/.local/bin/pip || :
rm -vf ~/.local/bin/pip3 || :
rm -vfRd ~/.local/lib/rustpython3.13 || :
  1. install rustpython with ssl via cargo (using homebrew's rustc/cargo)
cargo install --git https://github.com/RustPython/RustPython rustpython --features ssl --features jit
  1. Bootstrap pip with rustpython
rustpython --install-pip

May see issues if not privileged (normal even with reference cPython)

e.g.,

$ rustpython --install-pip
Defaulting to user installation because normal site-packages is not writeable
...
Installing collected packages: pip
Successfully installed pip-23.2.1
  1. Test pip is initially working:
$ rustpython -m pip list
Package Version
------- -------
pip     23.2.1

[notice] A new release of pip is available: 23.2.1 -> 25.1.1
[notice] To update, run: rustpython -m pip install --upgrade pip
  1. run the reccomended update command
rustpython -m pip install --upgrade pip

May again see privilege warning (again normal even in reference cPython)

e.g.,

$ rustpython -m pip install --upgrade pip
Defaulting to user installation because normal site-packages is not writeable
Requirement already satisfied: pip in /Users/username/.local/lib/rustpython3.13/site-packages (23.2.1)
Collecting pip
  Obtaining dependency information for pip from https://files.pythonhosted.org/packages/29/a2/d40fb2460e883eca5199c62cfc2463fd261f760556ae6290f88488c362c0/pip-25.1.1-py3-none-any.whl.metadata
  Using cached pip-25.1.1-py3-none-any.whl.metadata (3.6 kB)
Using cached pip-25.1.1-py3-none-any.whl (1.8 MB)
Installing collected packages: pip
  Attempting uninstall: pip
    Found existing installation: pip 23.2.1
    Uninstalling pip-23.2.1:
      Successfully uninstalled pip-23.2.1
Successfully installed pip-25.1.1
  1. attempt to use pip with rustpython and see error:
rustpython -m pip list

See error:

$ rustpython -m pip list
Traceback (most recent call last):
  File "/Users/amak/.cargo/git/checkouts/rustpython-63090cdce5e18442/c195473/pylib/Lib/runpy.py", line 197, in _run_module_as_main
    "__main__", mod_spec)
  File "/Users/amak/.cargo/git/checkouts/rustpython-63090cdce5e18442/c195473/pylib/Lib/runpy.py", line 86, in _run_code
    exec(code, run_globals)
  File "/Users/username/.local/lib/rustpython3.13/site-packages/pip/__main__.py", line 22, in <module>
    from pip._internal.cli.main import main as _main
  File "/Users/username/.local/lib/rustpython3.13/site-packages/pip/_internal/cli/main.py", line 10, in <module>
    from pip._internal.cli.autocompletion import autocomplete
  File "/Users/amak/.local/lib/rustpython3.13/site-packages/pip/_internal/cli/autocompletion.py", line 9, in <module>
    from pip._internal.cli.main_parser import create_main_parser
  File "/Users/username/.local/lib/rustpython3.13/site-packages/pip/_internal/cli/main_parser.py", line 8, in <module>
    from pip._internal.build_env import get_runnable_pip
  File "/Users/username/.local/lib/rustpython3.13/site-packages/pip/_internal/build_env.py", line 16, in <module>
    from pip._internal.cli.spinners import open_spinner
  File "/Users/username/.local/lib/rustpython3.13/site-packages/pip/_internal/cli/spinners.py", line 9, in <module>
    from pip._internal.utils.logging import get_indentation
  File "/Users/username/.local/lib/rustpython3.13/site-packages/pip/_internal/utils/logging.py", line 29, in <module>
    from pip._internal.utils.misc import ensure_dir
  File "/Users/username/.local/lib/rustpython3.13/site-packages/pip/_internal/utils/misc.py", line 44, in <module>
    from pip._internal.utils.retry import retry
  File "/Users/username/.local/lib/rustpython3.13/site-packages/pip/_internal/utils/retry.py", line 8, in <module>
    P = ParamSpec("P")
  File "/Users/username/.local/lib/rustpython3.13/site-packages/pip/_vendor/typing_extensions.py", line 1768, in __new__
    _set_default(paramspec, default)
  File "/Users/username/.local/lib/rustpython3.13/site-packages/pip/_vendor/typing_extensions.py", line 1613, in _set_default
    type_param.__default__ = default
AttributeError: attribute '__default__' of 'ParamSpec' objects is not writable

END


$ rustc --version
rustc 1.88.0 (6b00bc388 2025-06-23) (Homebrew)
$ rustpython --version
Python 3.13.0alpha (heads/master:c195473a2, Jul  8 2025, 07:49:57) 
[RustPython 0.4.0 with rustc 1.88.0 (6b00bc388 2025-06-23) (Homebrew)]

Also probably related to GHI #5332

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions