2012-04-23 38 views
6

我在使用Linux上的PyDev编写代码时遇到了这个奇怪的错误。即使是这样一个简单的代码产生错误ImportError:无法导入名称ABCMeta - Linux中的PyDev中的Python错误

print 'Hello World' 

,误差在这里

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 

我的模块被命名为sample.py。 请帮帮我。谢谢

回答

19

我的猜测是您的工作目录或PYTHONPATH中有一个名为abc.pyabc.pyc的文件,并且该文件会隐藏stdlib abc模块。

+1

谢谢,我再次检查工作场所文件夹,并找出邪恶的abc.py。删除后,我的程序运行完美。 – 2012-04-23 06:31:51

+0

是的,它为我工作。我有一个名为abc.py的文件。我刚刚删除它,一切开始正常工作。 – 2016-05-21 06:23:20

0

很可能你的python脚本的文件名是“abc”,“abc”是python标准库的一个模块。

更改文件名并再次运行脚本,错误将被删除,脚本将正常工作。