‘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 supersetFile "/opt/module/miniconda3/envs/superset/lib/python3.7/site-packages/superset/__init__.py", line 21, in <module>from superset.app import create_appFile "/opt/module/miniconda3/envs/superset/lib/python3.7/site-packages/superset/app.py", line 23, in <module>from superset.initialization import SupersetAppInitializerFile "/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 _stateFile "/opt/module/miniconda3/envs/superset/lib/python3.7/site-packages/celery/_state.py", line 17, in <module>from celery.utils.threads import LocalStackFile "/opt/module/miniconda3/envs/superset/lib/python3.7/site-packages/celery/utils/__init__.py", line 19, in <module>from .nodenames import nodename, nodesplit, worker_directFile "/opt/module/miniconda3/envs/superset/lib/python3.7/site-packages/celery/utils/nodenames.py", line 9, in <module>from kombu.entity import Exchange, QueueFile "/opt/module/miniconda3/envs/superset/lib/python3.7/site-packages/kombu/entity.py", line 9, in <module>from .serialization import prepare_accept_contentFile "/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 coverFile "/opt/module/miniconda3/envs/superset/lib/python3.7/site-packages/kombu/utils/compat.py", line 93, in entrypointsfor 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 supersetFile "/opt/module/miniconda3/envs/superset/lib/python3.7/site-packages/superset/__init__.py", line 21, in <module>from superset.app import create_appFile "/opt/module/miniconda3/envs/superset/lib/python3.7/site-packages/superset/app.py", line 23, in <module>from superset.initialization import SupersetAppInitializerFile "/opt/module/miniconda3/envs/superset/lib/python3.7/site-packages/superset/initialization/__init__.py", line 51, in <module>from superset.security import SupersetSecurityManagerFile "/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: F401File "/opt/module/miniconda3/envs/superset/lib/python3.7/site-packages/superset/security/manager.py", line 66, in <module>from superset.utils.core import DatasourceName, RowLevelSecurityFilterTypeFile "/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


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部