TypeError: 'module object is not callable'
Lawrence Oluyede
l.oluyede at gmail.com
Mon Sep 3 05:06:11 EDT 2007
On Sep 3, 10:48 am, christophert... at hotmail.com wrote:
> Hi
>
> I am new to Python and have recieved this error message when trying to
> instantiate an object from a class from another file within the same
> directory and wondered what I have done wrong.
>
> I have a Step.py class:
> class Step(object)
> def __init__(self, sName):
> "Initialise a new Step instance"
> self.sName = sName
> self.depSteps = []
> self.remDepSteps = []
> self.isCompleted = 0
>
> Then I have created a new file within the same directory called
> main.py:
>
> import Step
> a = Step("magn")
>
> The following however generates the error
> Traceback (most recent call last):
> File "main.py", line 3, in ?
> a = Step("magn")
> TypeError: 'module' object is not callable
This is because when you issue "import Step" you're actually importing
the "Step" _module_, not the "Step" class inside the module.
You can do this in at least two ways:
------
import Step
a = Step.Step("magn") # access the Step class inside Step module
------
or
------
from Step import Step # insert in the current namespace the Step class
a = Step("magn")
------
>
> If anyone could help point me in the right direction, how to fix this
> problem it would be much appreciated.
> Chris
HTH
More information about the Python-list
mailing list