Skip to content

🔑 Error with keyring on MacOs #36

@eleonorecharles

Description

@eleonorecharles

I have the following error when executing the following : d whoami on my mac

Traceback (most recent call last):
  File "/opt/miniconda3/envs/datalayer2/lib/python3.13/site-packages/keyring/backends/macOS/__init__.py", line 49, in set_password
    api.set_generic_password(self.keychain, service, username, password)
    ~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/miniconda3/envs/datalayer2/lib/python3.13/site-packages/keyring/backends/macOS/api.py", line 163, in set_generic_password
    delete_generic_password(name, service, username)
    ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/miniconda3/envs/datalayer2/lib/python3.13/site-packages/keyring/backends/macOS/api.py", line 184, in delete_generic_password
    Error.raise_for_status(status)
    ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^
  File "/opt/miniconda3/envs/datalayer2/lib/python3.13/site-packages/keyring/backends/macOS/api.py", line 126, in raise_for_status
    raise cls(status, "Unknown Error")
keyring.backends.macOS.api.Error: (-25244, 'Unknown Error')

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/opt/miniconda3/envs/datalayer2/bin/d", line 8, in <module>
    sys.exit(main())
             ~~~~^^
  File "/Users/eleonorecharles/Desktop/core/datalayer_core/application.py", line 285, in launch_instance
    return super().launch_instance(argv=argv, **kwargs)
           ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^
  File "/opt/miniconda3/envs/datalayer2/lib/python3.13/site-packages/traitlets/config/application.py", line 1074, in launch_instance
    app.initialize(argv)
    ~~~~~~~~~~~~~~^^^^^^
  File "/Users/eleonorecharles/Desktop/core/datalayer_core/cli/base.py", line 322, in initialize
    super().initialize(argv)
    ~~~~~~~~~~~~~~~~~~^^^^^^
  File "/opt/miniconda3/envs/datalayer2/lib/python3.13/site-packages/traitlets/config/application.py", line 118, in inner
    return method(app, *args, **kwargs)
  File "/Users/eleonorecharles/Desktop/core/datalayer_core/application.py", line 256, in initialize
    self.parse_command_line(argv)
    ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^
  File "/opt/miniconda3/envs/datalayer2/lib/python3.13/site-packages/traitlets/config/application.py", line 118, in inner
    return method(app, *args, **kwargs)
  File "/opt/miniconda3/envs/datalayer2/lib/python3.13/site-packages/traitlets/config/application.py", line 857, in parse_command_line
    return self.initialize_subcommand(subc, subargv)
           ~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^
  File "/opt/miniconda3/envs/datalayer2/lib/python3.13/site-packages/traitlets/config/application.py", line 118, in inner
    return method(app, *args, **kwargs)
  File "/opt/miniconda3/envs/datalayer2/lib/python3.13/site-packages/traitlets/config/application.py", line 721, in initialize_subcommand
    self.subapp.initialize(argv)
    ~~~~~~~~~~~~~~~~~~~~~~^^^^^^
  File "/Users/eleonorecharles/Desktop/core/datalayer_core/cli/base.py", line 337, in initialize
    self._log_in()
    ~~~~~~~~~~~~^^
  File "/Users/eleonorecharles/Desktop/core/datalayer_core/cli/base.py", line 121, in _log_in
    keyring.set_password(self.run_url, "access_token", self.token)
    ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/miniconda3/envs/datalayer2/lib/python3.13/site-packages/keyring/core.py", line 68, in set_password
    get_keyring().set_password(service_name, username, password)
    ~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/miniconda3/envs/datalayer2/lib/python3.13/site-packages/keyring/backend.py", line 60, in wrapper
    return orig(self, system, username, *args, **kwargs)
  File "/opt/miniconda3/envs/datalayer2/lib/python3.13/site-packages/keyring/backends/macOS/__init__.py", line 21, in wrapper
    return func(self, *args, **kwargs)
  File "/opt/miniconda3/envs/datalayer2/lib/python3.13/site-packages/keyring/backends/macOS/__init__.py", line 53, in set_password
    raise PasswordSetError(f"Can't store password on keychain: {e}") from e
keyring.errors.PasswordSetError: Can't store password on keychain: (-25244, 'Unknown Error')

It was resolved when downgrading the keyring version to 23.0.1 (https://stackoverflow.com/questions/69007042/keyring-apparently-not-installed-correctly-with-pip-macos)

Metadata

Metadata

Assignees

Labels

Type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions