执行以下命令时:
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:没有这样的文件或目录
有什么解决办法吗?
当前回答
“不要盲目地删除/安装软件”
在基于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
其他回答
我在Windows上的安装遇到了问题,因此解决方案之一是手动安装ldap包。
以下几个步骤:
进入“pyldap”或“/and python-ldap”页面,下载最新版本“*whl”。 打开一个控制台,然后cd到你下载文件的地方。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
EDIT
您可以为Python-3安装合适的版本。使用以下命令:
# 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
OR
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)
Python3不支持python-ldap。而不是安装ldap3。
对于那些在Alpine Linux上丢失Iber.h的人,例如,在您试图适应Alpine的docker映像中。
您正在寻找的包是:openldap-dev
所以运行
Apk添加openldap-dev
从3.3版本到Edge版本均可用
适用于armhf和x86_64架构。
修正由于安装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
“不要盲目地删除/安装软件”
在基于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