Skip to content

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

Open
@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 --feature 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

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions