Usually, Typeerror module object is not callable error occurs when python calls any module in the place of Class constructor or function. This article will help you to fix this issue. So let’s go.
Typeerror module object is not callable (Cause):
In order to explain the root cause of this bug. Let’s take am an example. Now, let’s import any python module NumPy.
import numpy obj=numpy()
As the above image shows. Numpy is a python module, not a python class. Hence We can not create an instance of it. That’s why the python interpreter throws the above error.
Typeerror module object is not callable (Solution):
The Golden rule to fix this error is to call the respective python class or function in the place of the python module. This concept is the same for library python modules like NumPy, pandas, etc and custom develop python module.
1. module object is not callable ( Library Modules)-
Let’s import the standard time module. Here time module contains time() function.
import time obj=time() print(obj)
But in the above code, it directly calls the module. Which is not the right way. That’s why it through the same error.
The correct way is below.
Another way to fix this below. Below we have imported the respective function time() from the complete module. Earlier we were importing the complete module. Which provides the double reference of the same name to the python interpreter. That why it throughs the same error.
from time import time obj=time() print(obj)
2. module object is not callable ( Custom Module)-
In addition, Suppose we create a python module with the name my_utillity.py which has a function my_utillity(). Here if we import the complete package the call the my_utillity() directly. It will show the same error. The best way to fix the module object is not callable is already mentioned above. It will remain unchanged.
Here is my_utillity.py which contains the my_utillity() function.
def my_utility(): return "My utility invoked"
The correct way to call it.
from my_utility import my_utility print(my_utility())
import my_utility print(my_utility.my_utility())
To sum up, I hope now you have understood the root cause of the module object is not callable error with its Fix. Please comment below if you have any related views over it.
Data Science Learner Team
Join our list
Subscribe to our mailing list and get interesting stuff and updates to your email inbox.