sudo pip install python-ldap
我遇到了这个错误:
在文件Modules/LDAPObject.c中包含的时候:
Modules/errors.h:8: 致命错误:lber.h:没有那个文件或目录
我该如何修复这个问题?
sudo pip install python-ldap
python-ldap 是基于 OpenLDAP 的,因此您需要安装开发文件(头文件)才能编译 Python 模块。如果您使用的是 Ubuntu,该软件包名为 libldap2-dev
。
Debian/Ubuntu:
sudo apt-get install libsasl2-dev python-dev libldap2-dev libssl-dev
RedHat/CentOS:
sudo yum install python-devel openldap-devel
为了成功使用pip安装python-ldap,需要以下开发库(包名称取自ubuntu环境):
sudo apt-get install -y python-dev libldap2-dev libsasl2-dev libssl-dev
在CentOS/RHEL 6上,您需要安装:
sudo yum install python-devel
sudo yum install openldap-devel
并且yum也将安装cyrus-sasl-devel
作为一个依赖项。然后你可以运行:
并且yum也将安装cyrus-sasl-devel
作为一个依赖项。然后你可以运行:
pip-2.7 install python-ldap
apt-file
来查找包含缺失头文件的确切软件包的名称。# Do this once
sudo apt-get install apt-file
sudo apt-file update
apt-file search lber.h
输出:
libldap2-dev: /usr/include/lber.h
apt-file search lber.h
的输出中可以看出,您只需要安装libldap2-dev
软件包。sudo apt-get install libldap2-dev
sudo apt-get install python-dev libldap2-dev libsasl2-dev libssl-dev
sudo pip install python-ldap
对于Windows,我完全同意接受的答案,但是浏览了一段时间的评论才找到我需要的核心内容。我在使用Bitnami上的Reviewboard时遇到了这个具体问题。因此,为了回答Windows的问题,我使用了评论中提到的此链接:
然后,执行以下命令
easy_install pip
pip install python_ldap-2.4.20-cp27-none_win32.whl
(因为我之前安装的是Python 2.7和32位版本)
easy_install python-ldap
apk add openldap-dev
从版本3.3起可用,直到Edge。
适用于armhf和x86_64架构。
sudo dnf install python-devel
sudo dnf install openldap-devel
我在Windows的安装过程中遇到了问题,其中一种解决方案是手动安装ldap
包。
具体步骤如下:
*whl
文件。some-package.whl
,然后使用以下命令:pip install some-package.whl
pyldap
的当前版本是 2.4.45
。具体安装示例如下:
pip install .\pyldap-2.4.45-cp37-cp37m-win_amd64.whl
# or
pip install .\python_ldap‑3.3.1‑cp39‑cp39‑win_amd64.whl
输出:
Installing collected packages: pyldap
Successfully installed pyldap-2.4.45
您可以使用以下命令安装适用于Python-3.X的正确版本:
# if pip3 is the default pip alias for python-3
pip3 install python3-ldap
# otherwise
pip install python3-ldap
此外,这里是PiPy包的链接,以获取更多信息:python3-ldap 0.9.8.4
ldap3是一个严格遵循RFC 4510标准的LDAP V3纯Python客户端库。同一代码库可以在Python 2、Python 3、PyPy和PyPy3中运行:https://github.com/cannatag/ldap3
pip install ldap3
from ldap3 import Server, Connection, SAFE_SYNC
server = Server('my_server')
conn = Connection(server, 'my_user', 'my_password', client_strategy=SAFE_SYNC, auto_bind=True)
status, result, response, _ = conn.search('o=test', '(objectclass=*)')
# usually you don't need the original request (4th element of the returned tuple)
python_ldap-3.2.0-cp36-cp36m-win_amd64.whl
在以下位置部署文件:
C:\python36\Scripts\
使用以下命令进行安装:
python -m pip install python_ldap-3.2.0-cp36-cp36m-win_amd64.whl
python3-dev
代替python-dev
。 - phoenix