我能';不要安装python ldap

我能';不要安装python ldap,python,module,ldap,Python,Module,Ldap,当我运行以下命令时: sudo pip install python-ldap 我得到这个错误: 在Modules/LDAPObject.c中包含的文件中:9: Modules/errors.h:8:致命错误:lber.h:没有这样的文件或目录 有没有解决这个问题的方法?基于OpenLDAP,因此您需要有开发文件(标题)才能编译Python模块。如果您使用的是Ubuntu,该软件包名为libldap2 dev sudo apt-get install libldap2-dev Debian/

当我运行以下命令时:

sudo pip install python-ldap
我得到这个错误:

在Modules/LDAPObject.c中包含的文件中:9:

Modules/errors.h:8:致命错误:lber.h:没有这样的文件或目录

有没有解决这个问题的方法?

基于OpenLDAP,因此您需要有开发文件(标题)才能编译Python模块。如果您使用的是Ubuntu,该软件包名为
libldap2 dev

sudo apt-get install libldap2-dev
Debian/Ubuntu

sudo apt-get install libsasl2-dev python-dev libldap2-dev libssl-dev
sudo yum install python-devel openldap-devel
红帽/CentOS

sudo apt-get install libsasl2-dev python-dev libldap2-dev libssl-dev
sudo yum install python-devel openldap-devel

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


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

sudo yum install python-devel
sudo yum install openldap-devel
而且,yum还将作为依赖项安装cyrus-sasl-devel。然后您可以运行:

pip-2.7 install python-ldap

在Ubuntu中,它看起来像这样:

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

在openSUSE上,您需要安装软件包
openldap2-devel
cyrus-sasl-devel
python-devel
libopenssl-devel


zypper在Fedora 22上安装openldap2-devel cyrus sasl-devel python-devel-libopenssl-devel
,您需要执行以下操作:

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

Windows:我完全同意大家接受的答案,但翻阅评论花了一段时间才找到我需要的内容。我在使用Bitnami的Windows上遇到了Reviewboard的这个特定问题。为了回答windows的问题,我使用了评论中提到的链接:

  • 将该控制盘(whl文件)放入我的reviewboard安装目录
然后,执行以下命令

easy_install pip
pip install python_ldap-2.4.20-cp27-none_win32.whl
(因为当时我有python 2.7和32位安装)


作为在Debian/Ubuntu上安装具有二进制依赖项[1]的Python软件包的通用解决方案:

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
你必须检查一下与PyPI的对比。在这种情况下,它们是一样的

如果Python包不在Ubuntu repos中,显然不起作用


[1] 我在Ubuntu上安装matplotlib时学会了这个技巧。

在OSX上,你需要xcode CLI工具。只需打开终端并运行:

xcode-select --install
在FreeBSD 11中:

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

对于那些在alpinelinux上缺少Iber.h的人来说,在docker映像中,例如,您正在尝试适应Alpine

您正在寻找的软件包是:openldap dev

快跑

apk添加openldap开发

从版本3.3到Edge提供

适用于armhf和x86_64体系结构。

“不要盲目删除/安装软件” 在基于Ubuntu/Debian的发行版中,您可以使用
apt file
查找包含缺少的头文件的确切包的名称

# do this once
sudo apt-get install apt-file
sudo apt-file update

从apt file search lber.h的输出可以看出,您只需要安装程序包
libldap2 dev

sudo apt-get install libldap2-dev
对于大多数系统,构建要求现在在“安装”部分的中提到

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

python3不支持python ldap。而不是安装ldap3。

如果您使用的是windows机器,您可以在其中找到“python ldap”控制盘,然后您可以为使用alphine linux的用户安装它, apk为alpine docker添加openldap开发

apk add openldap-dev
如果python版本为3及以上,请尝试

pip install python3-ldap

要更正由于依赖项导致的错误,请安装python ldap:Windows 7/10

下载whl文件

Python3.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
  • Debian参考:
  • 对于其他人:

我在Windows上安装时遇到问题,因此解决方案之一是手动安装
ldap
软件包

以下几个步骤:

  • 转到页面或/并下载最新版本
    *whl
  • 打开一个控制台,然后将cd放入您下载文件的位置,如
    some package.whl
    ,然后使用:
pip安装some-package.whl
pyldap
的当前版本是
2.4.45
。在一个具体的例子中,安装将是:

pip安装。\pyldap-2.4.45-cp37-cp37m-win_amd64.whl
#或
pip安装。\python_ldap-3.3.1‑cp39‑cp39‑win_amd64.whl
输出:

Installing collected packages: pyldap
Successfully installed pyldap-2.4.45
编辑 您可以使用以下命令安装Python-3.X的正确版本:

sudo pip install python-ldap
#如果pip3是python-3的默认pip别名
pip3安装Python 3 ldap
#否则
pip安装python3 ldap
以下是PiPy软件包的链接,以了解更多信息:

或 ldap3是一个严格符合RFC4510的LDAP V3纯Python客户端库。相同的代码库在Python 2、Python 3、PyPy和PyPy3中运行:

pip安装ldap3
从ldap3导入服务器,连接,安全同步
服务器=服务器(“我的服务器”)
连接=连接(服务器,“我的用户”,“我的密码”,客户端策略=安全同步,自动绑定=真)
状态、结果、响应,uz=conn.search('o=test','(objectclass=*))
#通常不需要原始请求(返回元组的第4个元素)

谢谢。它更进一步,现在sasl.h失败了,没有这样的文件或directory@VacuumTube:缺少标题几乎总是缺少
-dev
包的标志(有时也称为
-devel
)。只需执行apt cache search sasl | grep dev,您可能会找到正确的软件包-我猜它是
libsasl2 dev
。windows用户的任何信息:(同样的错误,到目前为止还没有解决方案,您不必在Windows上从源代码编译。只需使用其中一个安装程序即可。此外,Windows用户可以将所提到的.msi installer@Semmel解压缩到virtualenv中:(请参阅更新2)谢谢。这就是您所需要的。然后运行
sudo pip install python ldap