Python:jupyter-notebook。钥匙圈模块。类型错误:entry_points() 'group' 遇到意外的关键字参数



我正在尝试使用jupyter笔记本中的keyring模块。

import keyring
keyring.set_password('system',
'test',
'1234')

我得到了以下输出:

---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-7-0d6d321978e1> in <module>
----> 1 keyring.set_password('system',
2                     'test',
3                     '1234')
~/anaconda3/lib/python3.8/site-packages/keyring/core.py in set_password(service_name, username, password)
58 def set_password(service_name: str, username: str, password: str) -> None:
59     """Set password for the user in the specified service."""
---> 60     get_keyring().set_password(service_name, username, password)
61 
62 
~/anaconda3/lib/python3.8/site-packages/keyring/core.py in get_keyring()
30     """Get current keyring backend."""
31     if _keyring_backend is None:
---> 32         init_backend()
33     return typing.cast(backend.KeyringBackend, _keyring_backend)
34 
~/anaconda3/lib/python3.8/site-packages/keyring/core.py in init_backend(limit)
81     Load a detected backend.
82     """
---> 83     set_keyring(_detect_backend(limit))
84 
85 
~/anaconda3/lib/python3.8/site-packages/keyring/core.py in _detect_backend(limit)
99         or max(
100             # all keyrings passing the limit filter
--> 101             filter(limit, backend.get_all_keyring()),
102             default=fail.Keyring(),
103             key=backend.by_priority,
~/anaconda3/lib/python3.8/site-packages/keyring/util/__init__.py in wrapper(*args, **kwargs)
20     def wrapper(*args, **kwargs):
21         if not hasattr(func, 'always_returns'):
---> 22             func.always_returns = func(*args, **kwargs)
23         return func.always_returns
24 
~/anaconda3/lib/python3.8/site-packages/keyring/backend.py in get_all_keyring()
212     parameters.
213     """
--> 214     _load_plugins()
215     viable_classes = KeyringBackend.get_viable_backends()
216     rings = util.suppress_exceptions(viable_classes, exceptions=TypeError)
~/anaconda3/lib/python3.8/site-packages/keyring/backend.py in _load_plugins()
196     `initialize_func` is optional, but will be invoked if callable.
197     """
--> 198     for ep in metadata.entry_points(group='keyring.backends'):
199         try:
200             log.debug('Loading %s', ep.name)
TypeError: entry_points() got an unexpected keyword argument 'group'

如果我直接从python控制台或ipython控制台运行此代码,它将完美运行。那么,我想这与木星笔记本的某些特殊性有关。我使用的conda环境有以下包

Name                    Version                   Build  
python                    3.9.5
jupyter                   1.0.0            py39h06a4308_7  
jupyter_client            6.1.12             pyhd3eb1b0_0  
jupyter_console           6.4.0              pyhd3eb1b0_0  
jupyter_core              4.7.1            py39h06a4308_0
keyring                   23.0.1           py39h06a4308_0

OS:

Description:    Ubuntu 20.04.2 LTS

终于解决了这个问题。我对jupyter笔记本的内核有问题。我只是在conda环境中安装笔记本电脑。

conda install notebook

我没有意识到ipython内核来自基本环境。

相关内容

最新更新