‘EntryPoints‘ object has no attribute ‘get‘ & No module named ‘cryptography.hazmat.backends.openssl.

前情提要

安装完Supetset后,准备通过superset db upgrade初始化Supetset数据库,然后报错以下内容

Traceback (most recent call last):
  File "/opt/module/miniconda3/envs/superset/bin/superset", line 5, in <module>
    from superset.cli import superset
  File "/opt/module/miniconda3/envs/superset/lib/python3.7/site-packages/superset/__init__.py", line 21, in <module>
    from superset.app import create_app
  File "/opt/module/miniconda3/envs/superset/lib/python3.7/site-packages/superset/app.py", line 23, in <module>
    from superset.initialization import SupersetAppInitializer
  File "/opt/module/miniconda3/envs/superset/lib/python3.7/site-packages/superset/initialization/__init__.py", line 33, in <module>
    from superset.extensions import (
  File "/opt/module/miniconda3/envs/superset/lib/python3.7/site-packages/superset/extensions.py", line 111, in <module>
    celery_app = celery.Celery()
  File "/opt/module/miniconda3/envs/superset/lib/python3.7/site-packages/celery/local.py", line 509, in __getattr__
    module = __import__(self._object_origins[name], None, None, [name])
  File "/opt/module/miniconda3/envs/superset/lib/python3.7/site-packages/celery/app/__init__.py", line 5, in <module>
    from celery import _state
  File "/opt/module/miniconda3/envs/superset/lib/python3.7/site-packages/celery/_state.py", line 17, in <module>
    from celery.utils.threads import LocalStack
  File "/opt/module/miniconda3/envs/superset/lib/python3.7/site-packages/celery/utils/__init__.py", line 19, in <module>
    from .nodenames import nodename, nodesplit, worker_direct
  File "/opt/module/miniconda3/envs/superset/lib/python3.7/site-packages/celery/utils/nodenames.py", line 9, in <module>
    from kombu.entity import Exchange, Queue
  File "/opt/module/miniconda3/envs/superset/lib/python3.7/site-packages/kombu/entity.py", line 9, in <module>
    from .serialization import prepare_accept_content
  File "/opt/module/miniconda3/envs/superset/lib/python3.7/site-packages/kombu/serialization.py", line 456, in <module>
    for ep, args in entrypoints('kombu.serializers'):  # pragma: no cover
  File "/opt/module/miniconda3/envs/superset/lib/python3.7/site-packages/kombu/utils/compat.py", line 93, in entrypoints
    for ep in importlib_metadata.entry_points().get(namespace, [])
AttributeError: 'EntryPoints' object has no attribute 'get'

由于本人学识浅陋,只知道是有组件不兼容导致的,但是判断不出来哪个组件有问题,虽然解决了问题,但是不知问题出在哪。如果有大佬指出,还万分感谢。

解决过程1

首先通过csdn的chitgpt,它提示是celery的问题,键入celery --version后,再次报错相同的信息,于是朝着这个方向去解决。
输入pip3 install importlib-metadata==4.13.0 -i https://pypi.douban.com/simple Looking in indexes: https://pypi.douban.com/simple后,celery --version可以正确显示版本了

解决过程2

但是执行superset db upgrade再次报错如下内容

Traceback (most recent call last):
  File "/opt/module/miniconda3/envs/superset/bin/superset", line 5, in <module>
    from superset.cli import superset
  File "/opt/module/miniconda3/envs/superset/lib/python3.7/site-packages/superset/__init__.py", line 21, in <module>
    from superset.app import create_app
  File "/opt/module/miniconda3/envs/superset/lib/python3.7/site-packages/superset/app.py", line 23, in <module>
    from superset.initialization import SupersetAppInitializer
  File "/opt/module/miniconda3/envs/superset/lib/python3.7/site-packages/superset/initialization/__init__.py", line 51, in <module>
    from superset.security import SupersetSecurityManager
  File "/opt/module/miniconda3/envs/superset/lib/python3.7/site-packages/superset/security/__init__.py", line 17, in <module>
    from superset.security.manager import SupersetSecurityManager  # noqa: F401
  File "/opt/module/miniconda3/envs/superset/lib/python3.7/site-packages/superset/security/manager.py", line 66, in <module>
    from superset.utils.core import DatasourceName, RowLevelSecurityFilterType
  File "/opt/module/miniconda3/envs/superset/lib/python3.7/site-packages/superset/utils/core.py", line 71, in <module>
    from cryptography.hazmat.backends.openssl.x509 import _Certificate
ModuleNotFoundError: No module named 'cryptography.hazmat.backends.openssl.x509'

这次搜索最后一行,得到了解决方法

pip uninstall cryptography
pip install cryptography==2.9.2 -i https://pypi.douban.com/simple/
pip install sqlalchemy-utils==0.36.6 -i https://pypi.douban.com/simple/

随后成功执行superset db upgrade

  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值