flask_appbuilder - 未安装 python-ldap 库

问题描述

我正在尝试使用 flask_appbuilder 将 Apache-superset 与 LDAP 集成。

我把配置放在/venv/lib/python3.6/site-packages/superset/config.py

#from flask_appbuilder.security.manager import AUTH_DB,AUTH_LDAP

#AUTH_TYPE = AUTH_LDAP
#AUTH_USER_REGISTRATION = True
#AUTH_LDAP_SERVER = "ldap://X.X.X.X ldap://X.X.X.X"
#AUTH_LDAP_SEARCH = "DC=XX,XX"
#AUTH_LDAP_BIND_USER = "XX\\%s"
#AUTH_LDAP_UID_FIELD = "sAMAccountName"

启动超集,ldap 库没有错误,但是当我尝试通过网络登录时,出现错误ERROR:flask_appbuilder.security.manager:python-ldap library is not installed” .

然后我开始了故障排除:

(venv) [root@apache-superset venv]# pip freeze | grep ldap ldap3==2.9
pyldap @ file:///home/btsiklauri/pyldap-3.0.0.post1-py3-none-any.whl
python-ldap==3.3.1 python3-ldap==0.9.8.4


(venv) [root@apache-superset venv]# rpm -qa | grep ldap
python3-ldap3-2.8.1-2.el8.noarch
openldap-2.4.46-15.el8.x86_64
openldap-devel-2.4.46-15.el8.x86_64

尝试在 /venvlib/python3.6/site-packages/flask_appbuilder/security/manager.py 文件添加 import 行:

    # Ensure python-ldap is installed
    try:
        import ldap
    except ImportError:
        log.error("python-ldap library is not installed")
        return None

尝试放入 (ldap3,python-ldap,python3-ldap,python-ldap3,pyldap),但没有成功。

我可以检查什么?

解决方法

尝试 pip install python-ldap 安装正确的库。项目不会安装每个库,因为这会导致大量未使用的代码。