普段、apiのテスト用とか、ライブラリの使い方を試すための書き捨てのスクリプトをsandboxって名前のプロジェクト以下に作ってるんですが、突然、全部のスクリプトで以下のエラーが発生するようになったのでビックリしました。
Traceback (most recent call last): File "/Users/yuhei/.virtualenvs/sandbox/bin/../lib/python2.7/site.py", line 67, in <module> import os File "/Users/yuhei/.virtualenvs/sandbox/bin/../lib/python2.7/os.py", line 398, in <module> import UserDict File "/Users/yuhei/.virtualenvs/sandbox/bin/../lib/python2.7/UserDict.py", line 83, in <module> import _abcoll File "/Users/yuhei/.virtualenvs/sandbox/bin/../lib/python2.7/_abcoll.py", line 11, in <module> from abc import ABCMeta, abstractmethod ImportError: cannot import name ABCMeta
原因はあまりにも適当な名前をつけたabc.pyという書き捨てのスクリプトを作成しまったためでした。
abc.pyとpycを削除したら直りました。
いくら書き捨てでもあんまり適当な名前はだめですね