执行以下命令时:
sudo pip install python-ldap
我得到这个错误:
在Modules/LDAPObject.c:9包含的文件中: Modules/errors.h:8:致命错误:lber.h:没有这样的文件或目录
有什么解决办法吗?
执行以下命令时:
sudo pip install python-ldap
我得到这个错误:
在Modules/LDAPObject.c:9包含的文件中: Modules/errors.h:8:致命错误:lber.h:没有这样的文件或目录
有什么解决办法吗?
当前回答
修正由于安装python-ldap依赖关系导致的错误:Windows 7/10
下载WHL文件
http://www.lfd.uci.edu/ gohlke pythonlibs / # python-ldap。
Python 3.6套装
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不支持python-ldap。而不是安装ldap3。
对于大多数系统,现在python-ldap文档中的“安装”部分提到了构建需求。
如果您的系统缺少任何东西(或者您的系统完全缺少),请让维护者知道! (截至2018年,我是维护者,所以这里的评论应该足够了。或者你可以发送一个请求或邮件。)
在Debian/Ubuntu上安装二进制依赖的Python包[1]的通用解决方案:
sudo apt-get build-dep python-ldap
# installs system dependencies (but not the package itself)
pew workon my_virtualenv # enter your virtualenv
pip install python-ldap
你必须在Ubuntu和PyPI上检查你的Python包的名称。在这种情况下,它们是一样的。
显然,如果Python包不在Ubuntu回购中,则无法工作。
当我尝试在Ubuntu上安装matplotlib时,我学会了这个技巧。
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
Windows:我完全同意这个公认的答案,但我花了一段时间才从评论中找到我想要的东西。我使用Bitnami在Windows上的Reviewboard遇到了这个特定的问题。为了给出windows的答案,我使用了评论中提到的这个链接:
http://www.lfd.uci.edu/~gohlke/pythonlibs/#python-ldap 将该车轮(whl文件)放入我的审查板安装目录
然后执行如下命令
easy_install pip
pip install python_ldap-2.4.20-cp27-none_win32.whl
(因为我安装了python 2.7和32位)
easy_install python-ldap