Being a Python programmer, we all have seen this error at some point of time where our shell is showing typeerror: ‘module’ object is not callable and this post will help you understand why we see this error in our console.
Hey guys, welcome back and in this post, we are going to see why we see this error in our python code and how you can avoid this error.
Before talking about the solution to this problem, let’s see why this error occurs.
Reason for Error
The main reason behind TypeError: ‘module’ object is not callable in Python is because the user is confused between Class name and Module name.
The issue occurs in the import line while importing a module as module name and class name have the same name.
Here, the compiler gets confused between function name and module name and it is trying to run a module name as a function and thus failing to do that.
Let’s see this with an example.
Suppose I created a module named
Demo.py and it has a class named
Now, I want to import this into my another python file and use the
Demo class’s variable in this file. Suppose I created a file named
test.py and imported
Now I created an object named
Demo class. and tried using the variable
i of that class. Now, this will show me an error TypeError: ‘module’ object is not callable.
demoObj = Demo()
How to Solve Error?
Now, to overcome this error, we need to import the class in the correct way. Let’s see the correct way of importing that.
from Demo import Demo
demoObj = Demo()
This will remove the error which we were facing earlier.
I hope you understood how to overcome TypeError: ‘module’ object is not callable in Python.
If you have found this post helpful, please share it with your friends or colleagues who are looking for python programming.
And if you have started with Python development and stuck in some kind of problem or bug, you can leave your comment here and we will get back to you soon.