Вы можете установить тайм-аут по умолчанию, как показано выше, но вы можете использовать их оба, поскольку в Python 2.6 есть опция тайм-аута в методе urlopen:
import urllib2
import socket
try:
response = urllib2.urlopen("http://google.com", None, 2.5)
except URLError, e:
print "Oops, timed out?"
except socket.timeout:
print "Timed out!"
Тайм-аут по умолчанию для urllib2 бесконечен, и импорт сокета гарантирует, что вы поймаете тайм-аут как исключение socket.timeout