执行以下命令时:

sudo pip install python-ldap

我得到这个错误:

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

有什么解决办法吗?


当前回答

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

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

其他回答

Python -ldap基于OpenLDAP,因此需要有开发文件(头文件)才能编译Python模块。如果你用的是Ubuntu,这个包叫做libldap2-dev。

Debian/Ubuntu:

sudo apt-get install libsasl2-dev python-dev libldap2-dev libssl-dev

RedHat /被久远。

sudo yum install python-devel openldap-devel

要用pip成功安装python-ldap,需要以下开发库(包名取自ubuntu环境):

sudo apt-get install -y python-dev libldap2-dev libsasl2-dev libssl-dev

对于大多数系统,现在python-ldap文档中的“安装”部分提到了构建需求。

如果您的系统缺少任何东西(或者您的系统完全缺少),请让维护者知道! (截至2018年,我是维护者,所以这里的评论应该足够了。或者你可以发送一个请求或邮件。)

在CentOS/RHEL 6上,您需要安装:

sudo yum install python-devel
sudo yum install openldap-devel

yum还将安装cyrus- sass -devel作为依赖项。然后你可以运行:

pip-2.7 install python-ldap

try:

ARCHFLAGS="-arch x86_64" pip3 install python-ldap