OAuth - "No module named authlib"
OAuth - "No module named authlib"
我在 docker 中是 MacOS 的 运行 超集,我正在尝试让 OAuth 正常工作。
我编辑了配置文件 /docker/pythonpath_dev/superset_config.py
并添加了 OAuth 配置。
我添加的其中一行是
AUTH_TYPE = AUTH_OAUTH
这需要我导入以下身份验证类型:
from flask_appbuilder.security.manager import (
AUTH_OID,
AUTH_REMOTE_USER,
AUTH_DB,
AUTH_LDAP,
AUTH_OAUTH,
)
当我尝试使用以下命令启动 superset 时:docker-compose -f docker-compose-non-dev.yml up
我收到以下错误:
File "/usr/local/lib/python3.7/site-packages/flask_appbuilder/security/manager.py", line 250, in __init__
from authlib.integrations.flask_client import OAuth
ModuleNotFoundError: No module named 'authlib'
我对 docker 本身还很陌生。我该如何解决这个问题?
以防其他人遇到此问题,解决方案是将 Authlib
模块添加到 docker 图像上的 python 环境中。
将新的 python 模块添加到 docker 图像的过程记录在此处:https://github.com/apache/superset/blob/master/docker/README.md#local-packages
以下引用以防文件更改:
If you want to add python packages in order to test things like DBs locally, you can simply add a local requirements.txt (./docker/requirements-local.txt) and rebuild your docker stack.
Steps:
1. Create ./docker/requirements-local.txt
2. Add your new packages
3. Rebuild docker-compose
a. docker-compose down -v
b. docker-compose up
重要的是 运行 docker-compose up
而 不 docker-compose -f docker-compose-non-dev.yml up
。后者似乎没有重建 docker 图像。
我在 docker 中是 MacOS 的 运行 超集,我正在尝试让 OAuth 正常工作。
我编辑了配置文件 /docker/pythonpath_dev/superset_config.py
并添加了 OAuth 配置。
我添加的其中一行是
AUTH_TYPE = AUTH_OAUTH
这需要我导入以下身份验证类型:
from flask_appbuilder.security.manager import (
AUTH_OID,
AUTH_REMOTE_USER,
AUTH_DB,
AUTH_LDAP,
AUTH_OAUTH,
)
当我尝试使用以下命令启动 superset 时:docker-compose -f docker-compose-non-dev.yml up
我收到以下错误:
File "/usr/local/lib/python3.7/site-packages/flask_appbuilder/security/manager.py", line 250, in __init__
from authlib.integrations.flask_client import OAuth
ModuleNotFoundError: No module named 'authlib'
我对 docker 本身还很陌生。我该如何解决这个问题?
以防其他人遇到此问题,解决方案是将 Authlib
模块添加到 docker 图像上的 python 环境中。
将新的 python 模块添加到 docker 图像的过程记录在此处:https://github.com/apache/superset/blob/master/docker/README.md#local-packages
以下引用以防文件更改:
If you want to add python packages in order to test things like DBs locally, you can simply add a local requirements.txt (./docker/requirements-local.txt) and rebuild your docker stack.
Steps:
1. Create ./docker/requirements-local.txt
2. Add your new packages
3. Rebuild docker-compose
a. docker-compose down -v
b. docker-compose up
重要的是 运行 docker-compose up
而 不 docker-compose -f docker-compose-non-dev.yml up
。后者似乎没有重建 docker 图像。