Python:jupyternotebook。钥匙环模块。TypeError:entry_points()获得意外的关键字参数“group”

2024-03-29 15:32:34 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试使用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控制台运行这段代码,它将运行得非常好。那么,我想这与jupyter笔记本的某些特殊性有关。 我使用的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

操作系统:

Description:    Ubuntu 20.04.2 LTS

Tags: inpycorebackendgetlibpackagessite
1条回答
网友
1楼 · 发布于 2024-03-29 15:32:34

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

conda install notebook

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

相关问题 更多 >