私はPythonで(実際にはdjangoアプリで)抽象クラスを実装しようとしていますが、この狂気に直面しています:
>python concreteChildClass.py
Traceback (most recent call last):
File"concreteChildClass.py, line 1, in <module>
from abc_base import AbstractBaseClass
ImportError: No module named abc_base
環境でエラーを再現するこれらのファイルに問題を煮詰めました。
abstractBaseClass.py
import abc
class abstractBaseClass(object):
__metaclass__ = abc.ABCMeta
@abc.abstractmethod
def load(self, input):
"""Retrieve data from the input source and return an object."""
return
コンクリートチャイルドクラス.py
from abc_base import AbstractBaseClass
class ConcreteChildClass(object):
def load(self, input):
return input.read()
ここに私のpythonバージョン情報があります
>>> import sys
>>> print sys.version
2.7.3 (default, Jan 2 2013, 13:56:14)
[GCC 4.7.2]
私はPythonにかなり慣れていませんが(この質問は痛々しいほど明白になる可能性があるため)、「abc」がどのように見つかるかわかりませんが、「abc_base」は見つかりません。私の読書とグーグルは、これに関する答えに私を導きませんでした。これがばかげた質問である場合は、事前に感謝し、お詫び申し上げます。