Vac*_*ube 239 python module ldap
当我运行以下命令时:
sudo pip install python-ldap
Run Code Online (Sandbox Code Playgroud)
我收到此错误:
在Modules/LDAPObject.c:9中包含的文件中:
Modules/errors.h:8:致命错误:lber.h:没有这样的文件或目录
任何想法如何解决这一问题?
And*_*Dog 367
该网站称python-ldap基于OpenLDAP,因此您需要拥有开发文件(标题)才能编译Python模块.如果您使用的是Ubuntu,则会调用该程序包libldap2-dev.
Debian/Ubuntu:
sudo apt-get install libsasl2-dev python-dev libldap2-dev libssl-dev
Run Code Online (Sandbox Code Playgroud)
RedHat/CentOS:
sudo yum install python-devel openldap-devel
Run Code Online (Sandbox Code Playgroud)
jmu*_*jmu 143
要使用pip成功安装python-ldap,需要以下开发库(从ubuntu环境获取的包名):
sudo apt-get install -y python-dev libldap2-dev libsasl2-dev libssl-dev
Run Code Online (Sandbox Code Playgroud)
Ban*_*jer 71
在CentOS/RHEL 6上,您需要安装:
sudo yum install python-devel
sudo yum install openldap-devel
Run Code Online (Sandbox Code Playgroud)
和yum也将cyrus-sasl-devel作为依赖项安装.然后你可以运行:
pip-2.7 install python-ldap
Run Code Online (Sandbox Code Playgroud)
Jef*_*eld 31
在Ubuntu中它看起来像这样:
$ sudo apt-get install python-dev libldap2-dev libsasl2-dev libssl-dev
$ sudo pip install python-ldap
Run Code Online (Sandbox Code Playgroud)
arc*_*l76 15
Windows:我完全同意接受的答案,但仔细阅读评论需要一段时间才能得到我需要的东西.我使用Bitnami在Windows上使用Reviewboard遇到了这个特定问题.为了给出Windows的答案,我使用了评论中提到的这个链接:
然后,执行以下命令
easy_install pip
pip install python_ldap-2.4.20-cp27-none_win32.whl
Run Code Online (Sandbox Code Playgroud)
(因为我有python 2.7和32位安装)
easy_install python-ldap
Run Code Online (Sandbox Code Playgroud)
在基于Ubuntu/Debian的发行版中,您可以使用apt-file查找包含缺少的头文件的确切包的名称.
# do this once
sudo apt-get install apt-file
sudo apt-file update
Run Code Online (Sandbox Code Playgroud)
$ apt-file search lber.h
libldap2-dev: /usr/include/lber.h
Run Code Online (Sandbox Code Playgroud)
正如您从输出中看到的那样apt-file search lber.h,您只需安装该软件包即可libldap2-dev.
sudo apt-get install libldap2-dev
Run Code Online (Sandbox Code Playgroud)
对于那些在Alpine Linux上遇到Iber.h相同问题的人来说,在你试图适应Alpine的码头图像中.
您正在寻找的包是:openldap-dev
所以跑
apk add openldap-dev
可从3.3版到Edge版
适用于armhf和x86_64架构.
在Fedora 22 上,您需要这样做:
sudo dnf install python-devel
sudo dnf install openldap-devel
Run Code Online (Sandbox Code Playgroud)
我在 Windows 上安装时遇到问题,因此解决方案之一是ldap手动安装该软件包。
几个步骤:
\n转到pyldap或/和python-ldap页面并下载最新版本*whl。
打开控制台,然后 cd 到您下载文件的位置,some-package.whl然后使用:
pip install some-package.whl\nRun Code Online (Sandbox Code Playgroud)\n当前版本pyldap是 2.4.45。在一个具体的例子中,安装将是:
pip install .\\pyldap-2.4.45-cp37-cp37m-win_amd64.whl\n\n# Or\npip install .\\python_ldap\xe2\x80\x913.3.1\xe2\x80\x91cp39\xe2\x80\x91cp39\xe2\x80\x91win_amd64.whl\nRun Code Online (Sandbox Code Playgroud)\n输出:
\nInstalling collected packages: pyldap\nSuccessfully installed pyldap-2.4.45\nRun Code Online (Sandbox Code Playgroud)\n您可以使用以下命令安装适合 Python-3.X 的版本:
\n# If pip3 is the default pip alias for python-3\npip3 install python3-ldap\n\n# Otherwise\npip install python3-ldap\nRun Code Online (Sandbox Code Playgroud)\n这里还有 PiPy 包的链接以获取更多信息:python3-ldap 0.9.8.4
\nldap3 是一个严格符合 RFC 4510 的 LDAP V3 纯 Python 客户端库。相同的代码库在 Python 2、Python 3、PyPy 和 PyPy3 中运行: https: //github.com/cannatag/ldap3
\npip install ldap3\nRun Code Online (Sandbox Code Playgroud)\nfrom ldap3 import Server, Connection, SAFE_SYNC\n\nserver = Server(\'my_server\')\nconn = Connection(server, \'my_user\', \'my_password\', client_strategy=SAFE_SYNC, auto_bind=True)\n\nstatus, result, response, _ = conn.search(\'o=test\', \'(objectclass=*)\')\n# usually you don\'t need the original request (4th element of the returned tuple)\nRun Code Online (Sandbox Code Playgroud)\n