Repository: pypa/pipenv

Issue:
TypeError: 'Status' object is not callable
After https://github.com/pypa/pipenv/pull/5468 using version 2022.11.25 I got the following crash:

```
❯ pipenv lock
Warning: Python 3.7 was not found on your system...
Would you like us to install CPython 3.7.15 with Pyenv? [Y/n]:
Installing CPython 3.7.15 with /opt/homebrew/Cellar/pyenv/2.3.6/libexec/pyenv (this may take a few minutes)...
Traceback (most recent call last):
  File "/Users/nikolark/.pyenv/versions/3.9.15/bin/pipenv", line 8, in <module>
    sys.exit(cli())
  File "/Users/nikolark/.pyenv/versions/3.9.15/lib/python3.9/site-packages/pipenv/vendor/click/core.py", line 1128, in __call__
    return self.main(*args, **kwargs)
  File "/Users/nikolark/.pyenv/versions/3.9.15/lib/python3.9/site-packages/pipenv/cli/options.py", line 57, in main
    return super().main(*args, **kwargs, windows_expand_args=False)
  File "/Users/nikolark/.pyenv/versions/3.9.15/lib/python3.9/site-packages/pipenv/vendor/click/core.py", line 1053, in main
    rv = self.invoke(ctx)
  File "/Users/nikolark/.pyenv/versions/3.9.15/lib/python3.9/site-packages/pipenv/vendor/click/core.py", line 1659, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/Users/nikolark/.pyenv/versions/3.9.15/lib/python3.9/site-packages/pipenv/vendor/click/core.py", line 1395, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/Users/nikolark/.pyenv/versions/3.9.15/lib/python3.9/site-packages/pipenv/vendor/click/core.py", line 754, in invoke
    return __callback(*args, **kwargs)
  File "/Users/nikolark/.pyenv/versions/3.9.15/lib/python3.9/site-packages/pipenv/vendor/click/decorators.py", line 84, in new_func
    return ctx.invoke(f, obj, *args, **kwargs)
  File "/Users/nikolark/.pyenv/versions/3.9.15/lib/python3.9/site-packages/pipenv/vendor/click/core.py", line 754, in invoke
    return __callback(*args, **kwargs)
  File "/Users/nikolark/.pyenv/versions/3.9.15/lib/python3.9/site-packages/pipenv/vendor/click/decorators.py", line 26, in new_func
    return f(get_current_context(), *args, **kwargs)
  File "/Users/nikolark/.pyenv/versions/3.9.15/lib/python3.9/site-packages/pipenv/cli/command.py", line 331, in lock
    ensure_project(
  File "/Users/nikolark/.pyenv/versions/3.9.15/lib/python3.9/site-packages/pipenv/core.py", line 538, in ensure_project
    ensure_virtualenv(
  File "/Users/nikolark/.pyenv/versions/3.9.15/lib/python3.9/site-packages/pipenv/core.py", line 459, in ensure_virtualenv
    python = ensure_python(project, three=three, python=python)
  File "/Users/nikolark/.pyenv/versions/3.9.15/lib/python3.9/site-packages/pipenv/core.py", line 419, in ensure_python
    st(environments.PIPENV_SPINNER_OK_TEXT.format("Success!"))
TypeError: 'Status' object is not callable
```

This looks like a regression. Should we call `st.update` here instead?


Discussion:
At present @oz123 likely has more context to me on the rich spinner API, but this sounds like the right approach.
@nikolaik , yes, this should be `st.update` as in:

https://github.com/pypa/pipenv/blob/main/pipenv/core.py#L262


Resolving patch:
diff --git a/pipenv/core.py b/pipenv/core.py
--- a/pipenv/core.py
+++ b/pipenv/core.py
@@ -405,8 +405,9 @@ def abort(msg=""):
                             click.style("...", bold=True),
                         )
                     )
-                    # TOOD: pass project settings to console.status
-                    with console.status("Installing python...") as st:
+                    with console.status(
+                        "Installing python...", spinner=project.s.PIPENV_SPINNER
+                    ):
                         try:
                             c = installer.install(version)
                         except InstallerError as e:
@@ -416,7 +417,9 @@ def abort(msg=""):
                             click.echo(fix_utf8("Something went wrong..."), err=True)
                             click.secho(e.err, fg="cyan", err=True)
                         else:
-                            st(environments.PIPENV_SPINNER_OK_TEXT.format("Success!"))
+                            console.print(
+                                environments.PIPENV_SPINNER_OK_TEXT.format("Success!")
+                            )
                             # Print the results, in a beautiful blue...
                             click.secho(c.stdout, fg="cyan", err=True)
                             # Clear the pythonfinder caches


Test patch: