TypeError: 'module' object is not callable

조회수 3325회

에러 내용

File "C:\Users\Administrator\Documents\Mibot\oops\blinkserv.py", line 82, in __init__
    self.serv = socket(AF_INET,SOCK_STREAM)
TypeError: 'module' object is not callable

발생하는 문제 및 실행환경

이런 에러가 나는데 왜 저 줄에서 에러가 발생하는지 모르겠습니다.

다들 저렇게 쓰던것 같던데 왜 제 코드만 실행이 안될까요?

1 답변

  • 좋아요

    0

    싫어요
    채택 취소하기

    socket은 socket 클래스를 포함하고 있는 모듈입니다. 모듈은 그 자체로는 호출할 수 없기 때문에 에러가 발생합니다.

    "다들 저렇게 쓰던 것 같던데" 라고 하신걸 보면 아마 다른 코드를 보고 똑같이 적으신 것 같은데 그 코드를 자세히 보면

    from socket import socket
    

    으로 시작했을 거고, 작성자께서는

    import socket
    

    일 겁니다.

    코드에서

    1. import하는 부분을 from socket import socket로 고침
    2. socket쓰는 부분을 self.serv = socket.socket(AF_INET,SOCK_STREAM)으로 고침

    둘 중 하나를 써서 고치면 정상적으로 작동할 겁니다.

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)