我无法安装python-ldap

2020/10/31 15:32 · python ·  · 0评论

当我运行以下命令时:

sudo pip install python-ldap

我收到此错误:

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

Modules / errors.h:8:致命错误:lber.h:没有此类文件或目录

任何想法如何解决这一问题?

蟒蛇,LDAP是基于OpenLDAP的,所以你必须为了编译Python模块的开发文件(头)。如果您使用的是Ubuntu,则该软件包称为libldap2-dev

Debian / Ubuntu

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

RedHat / CentOS

sudo yum install python-devel openldap-devel

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

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

在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

Windows:我完全同意接受的答案,但是仔细阅读评论需要花一些时间才能弄清我需要的内容。我使用Bitnami在Windows上的Reviewboard上遇到了这个特定问题。为了给出Windows的答案,我使用了注释中提到的链接:

然后,执行以下命令

easy_install pip
pip install python_ldap-2.4.20-cp27-none_win32.whl

(因为我当时安装了python 2.7和32位安装程序)

easy_install python-ldap

对于那些在Alpine Linux上也缺少Iber.h的问题,例如,您尝试在Docker映像中尝试适应Alpine。

您要查找的软件包是:openldap-dev

所以跑

apk add openldap-dev

从版本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: /usr/include/lber.h

从输出可以看到apt-file search lber.h,您只需要安装软件包libldap2-dev

sudo apt-get install libldap2-dev

在openSUSE需要安装的软件包openldap2-develcyrus-sasl-develpython-devellibopenssl-devel

zypper install openldap2-devel cyrus-sasl-devel python-devel libopenssl-devel

在Fedora 22上,您需要执行以下操作:

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

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

xcode-select --install

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

如果您的系统缺少任何内容(或系统完全丢失),请告知维护人员!(从2018年开始,我是维护者,所以这里的注释应该足够了。或者您可以发送请求请求或邮件。)

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

对于高山码头工人

apk add openldap-dev

如果python版本是3以上,请尝试

pip install python3-ldap

要更正由于依赖而导致的错误,请安装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

在FreeBSD 11中:

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

作为在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

您必须在Ubuntu和PyPI检查Python软件包名称在这种情况下,它们是相同的。

如果Python软件包不在Ubuntu仓库中,显然不起作用。

[1]尝试pip install matplotlib在Ubuntu上时,我学到了这个技巧

如果您使用的是Windows计算机,则可以在此链接中找到“ python-ldap”轮,然后进行安装

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

sudo apt-get install build-essential python3-dev python2.7-dev libldap2-dev libsasl2-dev slapd ldap-utils python-tox lcov valgrind

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

几个步骤:

  • 转到页面pyldap或/和python-ldap并下载最新版本*whl
  • 打开一个控制台,然后CD到您将文件下载到的位置,然后some-package.whl使用:
pip install some-package.whl

的当前版本pyldap2.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
本文地址:http://python.askforanswer.com/wowufaanzhuangpython-ldap.html
文章标签: ,   ,  
版权声明:本文为原创文章,版权归 admin 所有,欢迎分享本文,转载请保留出处!

文件下载

老薛主机终身7折优惠码boke112

上一篇:
下一篇:

评论已关闭!