执行以下命令时:

sudo pip install python-ldap

我得到这个错误:

在Modules/LDAPObject.c:9包含的文件中: Modules/errors.h:8:致命错误:lber.h:没有这样的文件或目录

有什么解决办法吗?


当前回答

“不要盲目地删除/安装软件”

在基于Ubuntu或Debian的发行版中,您可以使用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文件搜索lber.h的输出中看到的,您只需要安装包libldap2-dev。

sudo apt-get install libldap2-dev

其他回答

在FreeBSD 11中:

pkg install openldap-client # for lber.h
pkg install cyrus-sasl # if you need sasl.h
pip install python-ldap

在openSUSE上需要安装openldap2-devel、cyrus-sasl-devel、python-devel和libopenssl-devel。

Zypper安装openldap2-devel cyrus-sasl-devel python-devel libopenssl-devel

在Fedora 22上,您需要这样做:

sudo dnf install python-devel
sudo dnf install openldap-devel

对于使用alphine linux的用户, Apk添加openldap-dev

在Ubuntu中,它是这样的:

 $ sudo apt-get install python-dev libldap2-dev libsasl2-dev libssl-dev
 $ sudo pip install python-ldap