11

I am trying to do this in my program:

dest = socket.gethostbyname(host)

I have included the line:

from socket import * 

in the beginning of the file.

I am getting this error:

AttributeError: type object '_socketobject' has no attribute 'gethostbyname'

I am running Vista 64bit. Could there be a problem with my OS? I have turned down my firewall and everything.

tshepang
  • 12,111
  • 21
  • 91
  • 136
Sheela
  • 111
  • 1
  • 1
  • 3

2 Answers2

20

You shoulod either use

import socket
dest = socket.gethostbyname(host)

or use

from socket import *
dest = gethostbyname(host)

Note: the first option is by far the recommended one.

rob
  • 36,896
  • 2
  • 55
  • 65
  • 1
    Yayyyy!!!! It Worked!! Thanks so much, I have an assignment to be submitted tomorrow and your answer was of great help. I did not know, such a small mistake could cause such a major problem. Thanks again, I really appreciate ur quick reply.. Thanks. – Sheela Dec 07 '09 at 01:05
  • 3
    @Sheela you can appreciate even more with accepting this as an answer :) – holgac Dec 11 '13 at 08:33
2

After from socket import *, you'd need to call just the barename gethostbyname -- the barename socket now refers to a type, not to the module. That import * is horrible practice, by the way: do, instead, import socket, and then socket.gethostbyname will work just fine!

Alex Martelli
  • 854,459
  • 170
  • 1,222
  • 1,395