Python ldap 属性错误
我遇到了一个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 的文件,这个文件把你想用的那个文件给遮住了?