TypeError: 'module' object is not callable
You need to do socket.socket(...)
or from socket import socket
:
>>> import socket
>>> socket
<module 'socket' from 'C:\Python27\lib\socket.pyc'>
>>> socket.socket
<class 'socket._socketobject'>
>>>
>>> from socket import socket
>>> socket
<class 'socket._socketobject'>
This is what the error message means:
It saysmodule object is not callable
, because your code is calling a module object. A module object is the type of thing you get when you import a module. What you were trying to do is to call a class object within the module object that happens to have the same name as the module that contains it.
Here is a way to logically break down this sort of error:
- "
module object is not callable
. Python is telling me my code trying to call something that cannot be called. What is my code trying to call?" - "The code is trying to call on
socket
. That should be callable! Is the variablesocket
is what I think it is?` - I should print out what socket is and check
print socket