2010-03-24 31 views
6

Tôi có lỗi python AttributeError: đối tượng 'module' không có thuộc tính 'initialize' Tôi đang chạy Python 2.6.2 trên Solaris 10 UNIX và mới cài đặt pythonldap 2.3.9. Kịch bản rất cơ bản, chỉ có 2 dòng này. Bất cứ ai đó có thể trả lời tôi tại sao?? Lỗi Traceback bên dưới.Python ldap AttributeError

#!/usr/local/bin/python 

import ldap, sys 

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

Traceback (gần đây nhất gọi cuối cùng): File "./myldap.py", dòng 5, trong con = ldap.initialize ('ldap: // localhost') AttributeError: 'module' đối tượng không có thuộc tính 'khởi'

Kính trọng, Jenny

+0

Dòng shebang được ưu tiên cho Python là '!/Usr/local/env python', chạy bất kỳ" python "nào trên dòng lệnh. –

Trả lời

22

bạn đã đặt tên cho một tập tin trong thư mục hiện hành ldap.py được shadowing một trong đó bạn muốn?

+0

Ấn tượng. Trả lời nhanh chóng và hữu ích chỉ trong vòng chưa đầy 2 phút! Có, tôi đã thực sự, tôi đã đổi tên tập tin đó ngay bây giờ và có một lỗi khác. Traceback (gần đây nhất gọi cuối cùng): File "./myldap.py", dòng 3, trong nhập khẩu ldap File "/usr/local/lib/python2.6/site-packages/ldap/__init__. py ", dòng 22, trong từ nhập _ldap * Nhập lệnh: ld.so.1: python: fatal: libsasl2.so.2: mở không thành công: Không có tệp hoặc thư mục nào như vậy – jenny

+0

Bingo! Kiểm tra việc cài đặt mô-đun ldap của bạn. Có vẻ như nó có thể được horked. Và chào mừng bạn đến với SO !! – jathanism

+0

Có vẻ như bạn đang gặp sự cố với mô-đun C 'ldap' cần gọi. Bạn sử dụng hệ điều hành nào? Làm thế nào bạn cài đặt python-ldap? –

2

Một cách dễ dàng để biết liệu ldap bạn đang nhập có đúng là in ldap.__file__, để in đường dẫn đầy đủ đến tệp mô-đun (thường là '.pyc'). Nếu nó không phải là một trong những cài đặt ở vị trí bạn đang mong đợi, đây là vấn đề của bạn, như Mike Graham đề nghị.

+0

Tôi đã mắc lỗi này và câu trả lời này đã giúp tôi khám phá ra rằng ngay cả khi tôi đã đổi tên thành 'ldap.py' thành một thứ khác, vẫn còn một' ldap.pyc' trong thư mục. – Xabs

2

Bạn có thể gặp lỗi đó nếu bạn bằng cách nào đó chọn "ldap.py" từ sos/plugins/thay vì chính gói ldap. Đảm bảo gói "python-ldap" thực sự được cài đặt ...

2

Nhiều người đang đưa ra các giải pháp phức tạp hơn ... Chỉ cần đặt, cài đặt pip của mô-đun ldap không hoạt động. Bạn cần cài đặt gói python-ldap từ apt hoặc yum.

+0

điều này có vẻ là trường hợp. – user455318

Các vấn đề liên quan