首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ImportError:无法从'oauthlib.common‘导入名称'bytes_type’

ImportError:无法从'oauthlib.common‘导入名称'bytes_type’
EN

Stack Overflow用户
提问于 2020-04-17 13:54:51
回答 1查看 710关注 0票数 3

我正在将airflow从1.10.5更新到1.10.10。在使用google OAuth时,我在webserver中遇到以下错误

代码语言:javascript
复制
Traceback (most recent call last):
  File "/home/airflow/.local/bin/airflow", line 37, in <module>
    args.func(args)
  File "/home/airflow/.local/lib/python3.7/site-packages/airflow/utils/cli.py", line 75, in wrapper
    return f(*args, **kwargs)
  File "/home/airflow/.local/lib/python3.7/site-packages/airflow/bin/cli.py", line 900, in webserver
    app = cached_app_rbac(None) if settings.RBAC else cached_app(None)
  File "/home/airflow/.local/lib/python3.7/site-packages/airflow/www_rbac/app.py", line 295, in cached_app
    app, _ = create_app(config, session, testing)
  File "/home/airflow/.local/lib/python3.7/site-packages/airflow/www_rbac/app.py", line 108, in create_app
    update_perms=conf.getboolean('webserver', 'UPDATE_FAB_PERMS'))
  File "/home/airflow/.local/lib/python3.7/site-packages/flask_appbuilder/base.py", line 148, in __init__
    self.init_app(app, session)
  File "/home/airflow/.local/lib/python3.7/site-packages/flask_appbuilder/base.py", line 202, in init_app
    self.sm = self.security_manager_class(self)
  File "/home/airflow/.local/lib/python3.7/site-packages/airflow/www_rbac/security.py", line 177, in __init__
    super(AirflowSecurityManager, self).__init__(appbuilder)
  File "/home/airflow/.local/lib/python3.7/site-packages/flask_appbuilder/security/sqla/manager.py", line 51, in __init__
    super(SecurityManager, self).__init__(appbuilder)
  File "/home/airflow/.local/lib/python3.7/site-packages/flask_appbuilder/security/manager.py", line 249, in __init__
    from flask_oauthlib.client import OAuth
  File "/home/airflow/.local/lib/python3.7/site-packages/flask_oauthlib/client.py", line 20, in <module>
    from .utils import to_bytes
  File "/home/airflow/.local/lib/python3.7/site-packages/flask_oauthlib/utils.py", line 5, in <module>
    from oauthlib.common import to_unicode, bytes_type
ImportError: cannot import name 'bytes_type' from 'oauthlib.common' (/home/airflow/.local/lib/python3.7/site-packages/oauthlib/common.py)

此错误是由于依赖项不匹配造成的。Airflow 1.10.10正在安装oauthlib==3.1.0Flask-OAuthlib==0.9.5,而在3.1.0 version of oauthlib中,没有bytes_type,而Flash-OAuthlib希望它在那里。

考虑到lepture已经归档了flask-oauthlib并创建了authlib,我在lepture的airflow中看到了关于此更改的PR https://github.com/apache/airflow/pull/6140/files,但它没有被机器人合并并标记为陈旧

有人在Airflow 1.10.10中遇到过这个问题吗?我已经通过更改requirement.txt中的oauthlib version to 2.1.0修复了此问题

EN

回答 1

Stack Overflow用户

发布于 2021-03-18 22:20:10

我们遇到了同样的问题,并通过强制升级flask_oauthlib到0.9.6来暂时修复它:(当我们等待airflow修复其依赖项时)

pip install flask_oauthlib==0.9.6

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61264984

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档