2012-04-23 9 views
6

Tôi đã gặp lỗi lạ này khi viết mã bằng PyDev trên Linux. Ngay cả một mã đơn giản như thế này tạo ra lỗiImportError: không thể nhập tên ABCMeta - Lỗi Python trong PyDev trên Linux

print 'Hello World' 

và lỗi là ở đây

True 
Traceback (most recent call last): 
    File "/usr/lib/python2.7/site.py", line 62, in <module> 
    import os 
    File "/usr/lib/python2.7/os.py", line 398, in <module> 
    import UserDict 
    File "/usr/lib/python2.7/UserDict.py", line 83, in <module> 
    import _abcoll 
    File "/usr/lib/python2.7/_abcoll.py", line 11, in <module> 
    from abc import ABCMeta, abstractmethod 
ImportError: cannot import name ABCMeta 

mô-đun của tôi được đặt tên sample.py. Xin hãy giúp tôi. Cảm ơn

Trả lời

19

Tôi đoán là bạn có một tệp có tên là abc.py hoặc abc.pyc trong thư mục làm việc của bạn hoặc PYTHONPATH và tệp đó đổ bóng mô-đun st2libib abc.

+1

cảm ơn, tôi kiểm tra lại trong thư mục nơi làm việc và tìm hiểu abc.py. Sau khi xóa nó, chương trình của tôi chạy hoàn hảo. –

+0

Yup nó làm việc cho tôi. Tôi đã có một tập tin có tên abc.py. Tôi chỉ cần loại bỏ nó và mọi thứ bắt đầu hoạt động tốt. –

0

Có lẽ tên tệp của tập lệnh python của bạn là "abc" và "abc" là một mô-đun thư viện chuẩn của python.

Thay đổi tên tệp và chạy lại tập lệnh, lỗi sẽ xóa và tập lệnh sẽ hoạt động tốt.