Python ldap 属性错误

12 投票
7 回答
31054 浏览
提问于 2025-04-15 20:47

我遇到了一个Python错误,错误信息是AttributeError: 'module' object has no attribute 'initialize'。我在Solaris 10 UNIX上运行Python 2.6.2,最近安装了pythonldap 2.3.9。我的脚本非常简单,只有这两行代码。有人能告诉我这是为什么吗?下面是错误的详细信息。

#!/usr/local/bin/python

import ldap, sys

con = ldap.initialize('ldap://localhost')

错误追踪(最近的调用在最前面): 文件 "./myldap.py",第5行,在 con = ldap.initialize('ldap://localhost') AttributeError: 'module' object has no attribute 'initialize'

问候, Jenny

7 个回答

4

要判断你导入的 ldap 是否正确,一个简单的方法是打印 ldap.__file__。这样可以显示出这个模块文件的完整路径(通常是一个 '.pyc' 文件)。如果这个路径不是你预期的安装位置,那就是你遇到的问题,正如 Mike Graham 所建议的那样。

7

很多人给出的解决方案都很复杂……简单来说,使用pip安装ldap模块是行不通的。你需要从apt或yum安装python-ldap这个包。需要注意的是,现在这个deb包的名字改成了python3-ldap,因为python 2已经不再使用了。

56

你是不是在当前文件夹里起了个名字叫 ldap.py 的文件,这个文件把你想用的那个文件给遮住了?

撰写回答