当我运行以下命令时:
sudo pip install python-ldap
我收到此错误:
在Modules / LDAPObject.c中包含的文件中:9:
Modules / errors.h:8:致命错误:lber.h:没有这样的文件或目录
任何想法如何解决这个问题?
答案 0 :(得分:334)
website表示python-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
答案 1 :(得分:142)
要使用pip成功安装python-ldap,需要以下开发库(从ubuntu环境中获取软件包名称):
sudo apt-get install -y python-dev libldap2-dev libsasl2-dev libssl-dev
答案 2 :(得分:70)
在CentOS / RHEL 6上,您需要安装:
sudo yum install python-devel
sudo yum install openldap-devel
和yum也会安装cyrus-sasl-devel
作为依赖项。然后你可以运行:
pip-2.7 install python-ldap
答案 3 :(得分:31)
在Ubuntu中它看起来像这样:
$ sudo apt-get install python-dev libldap2-dev libsasl2-dev libssl-dev
$ sudo pip install python-ldap
答案 4 :(得分:13)
然后,执行以下命令
easy_install pip
pip install python_ldap-2.4.20-cp27-none_win32.whl
(因为我有python 2.7和32位安装)
easy_install python-ldap
答案 5 :(得分:9)
在基于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
答案 6 :(得分:5)
对于那些在Alpine Linux上遇到Iber.h相同问题的人,在例如你试图适应Alpine的码头图片中。
您正在寻找的包是:openldap-dev
所以运行
apk add openldap-dev
从版本3.3到Edge
可用可用于armhf和x86_64架构。
答案 7 :(得分:4)
在Fedora 22上,你需要这样做:
sudo dnf install python-devel
sudo dnf install openldap-devel
答案 8 :(得分:3)
在openSUSE上,您需要安装包openldap2-devel
,cyrus-sasl-devel
,python-devel
和libopenssl-devel
。
zypper install openldap2-devel cyrus-sasl-devel python-devel libopenssl-devel
答案 9 :(得分:2)
在OSX上,您需要xcode CLI工具。只需打开终端并运行:
xcode-select --install
答案 10 :(得分:2)
python3不支持python-ldap。而是安装ldap3。
答案 11 :(得分:1)
作为在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
您必须检查name of your Python package on Ubuntu与PyPI。在这种情况下,他们是一样的。
如果Python软件包不在Ubuntu存储库中,显然不起作用。
[1]我在Ubuntu上尝试pip install matplotlib
时学会了这个技巧。
答案 12 :(得分:1)
在FreeBSD 11中:
pkg install openldap-client # for lber.h
pkg install cyrus-sasl # if you need sasl.h
pip install python-ldap
答案 13 :(得分:1)
对于大多数系统,现在在python-ldap's documentation的“安装”部分中提到了构建要求。
如果您的系统缺少任何内容(或者您的系统完全丢失),请告知维护人员! (截至2018年,我是维护者,所以这里的评论应该足够了。或者你可以发送拉动请求或邮件。)
答案 14 :(得分:0)
如果你正在使用Windows机器,你可以找到&#39; python-ldap&#39;转到这个Link,然后你可以安装它
答案 15 :(得分:0)
对于使用Alphine Linux的用户, apk添加openldap-dev
答案 16 :(得分:0)
对于高山码头工人
apk add openldap-dev
如果python版本是3以上,请尝试
pip install python3-ldap
答案 17 :(得分:0)
要纠正由于安装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
答案 18 :(得分:0)
sudo apt-get install build-essential python3-dev python2.7-dev libldap2-dev libsasl2-dev slapd ldap-utils python-tox lcov valgrind
答案 19 :(得分:0)
我在Windows上安装时遇到问题,因此解决方案之一是手动安装ldap
软件包。
几个步骤:
*whl
。some-package.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
答案 20 :(得分:0)
试试:
var progress by remember {mutableStateOf(0.0f)}
var enabled by remember { mutableStateOf(true) }
LaunchedEffect(key1 = progress, key2 = enabled) {
if(progress<1 && enabled) {
delay(100L)
progress += 0.01F
}
}
LinearProgressIndicator(
color = White,
backgroundColor = LightGray,
progress = progress,
modifier = Modifier.width(100.dp)
)