2010-03-24 52 views
6

我有一個python錯誤AttributeError:'模塊'對象沒有屬性'初始化' 我在Solaris 10 UNIX上運行Python 2.6.2並且最近安裝了pythonldap 2.3.9。腳本非常基本,只有這兩行。誰能告訴我爲什麼?下面回溯錯誤。Python ldap AttributeError

#!/usr/local/bin/python 

import ldap, sys 

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

回溯(最近通話最後一個): 文件 「./myldap.py」,5號線,在 CON = ldap.initialize( 'LDAP:// localhost' 的) AttributeError的: '模塊'對象有沒有屬性「初始化」

問候, 珍妮

+0

Python的首選shebang行是'!/ usr/local/env python',它可以在命令行上運行任何「python」。 – 2010-03-24 04:25:26

回答

22

你的名字在被遮蔽,你想要的當前目錄ldap.py文件?

+0

令人印象深刻。快速和有用的答覆在不到2分鐘內!是的,我確實做過了,現在我已經重命名了該文件,並且遇到了另一個錯誤。 回溯(最近通話最後一個): 文件 「./myldap.py」,3號線,在 導入LDAP 文件「/usr/local/lib/python2.6/site-packages/ldap/__init__。 py「,第22行,在 from _ldap import * ImportError:ld.so.1:python:fatal:libsasl2.so.2:打開失敗:沒有這樣的文件或目錄 – jenny 2010-03-24 04:37:07

+0

賓果!檢查您的ldap模塊的安裝。看起來它可能會停滯。歡迎來到SO! – jathanism 2010-03-24 04:38:06

+0

看起來你需要調用C模塊'ldap'有問題。你使用什麼操作系統?你是如何安裝python-ldap的? – 2010-03-24 04:39:28

2

一個簡單的方法來判斷您導入的ldap是否是正確的方法是打印ldap.__file__,它打印模塊文件的完整路徑(通常爲'.pyc')。如果它不是您所期望的位置安裝的那個,那麼這是您的問題,建議使用Mike Graham

+0

我犯了這個錯誤,這個答案幫助我發現,即使我把我的ldap.py改名爲其他東西,文件夾中仍然有一個'ldap.pyc'。 – Xabs 2014-11-27 13:16:42

2

如果你以某種方式從sos/plugins /中取出「ldap.py」,而不是ldap包本身,則可能會出現該錯誤。確保實際安裝了「python-ldap」軟件包...

2

許多人正在給出更復雜的解決方案......簡而言之,ldap模塊的pip安裝不起作用。您需要從apt或yum安裝python-ldap軟件包。

+0

這似乎是這種情況。 – user455318 2017-12-11 09:02:30