Re: TypeError: 'module object is not callable'
- From: "Amit Khemka" <khemkaamit@xxxxxxxxx>
- Date: Mon, 3 Sep 2007 14:32:35 +0530
On 9/3/07, christophertidy@xxxxxxxxxxx <christophertidy@xxxxxxxxxxx> 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
If anyone could help point me in the right direction, how to fix this
problem it would be much appreciated.
Chris
The exception is being raised as you are being confused about the
names ie: you have a class named "Step" in a module named "Step.py" .
And by importing the module the only "Step" python sees is the module
not the names declared within the module.
To access a name defined in the module you can do :
example1:
import Step
a = Step.Step("magn") # It refers the name "Step" defined IN the module "Step"
example 2:
from Step import Step # You directly import the class ( and make the
name visible in your name space)
a = Step("magn")
Also have a look at:
http://effbot.org/zone/import-confusion.htm
http://docs.python.org/ref/import.html
Cheers,
--
----
Amit Khemka
website: www.onyomo.com
wap-site: www.owap.in
.
- Follow-Ups:
- Re: TypeError: 'module object is not callable'
- From: Bruno Desthuilliers
- Re: TypeError: 'module object is not callable'
- References:
- TypeError: 'module object is not callable'
- From: christophertidy
- TypeError: 'module object is not callable'
- Prev by Date: TypeError: 'module object is not callable'
- Next by Date: Re: Will Python 3.0 remove the global interpreter lock (GIL)
- Previous by thread: TypeError: 'module object is not callable'
- Next by thread: Re: TypeError: 'module object is not callable'
- Index(es):
Relevant Pages
|