63
  File "C:\Python27\lib\socket.py", line 224, in meth
    return getattr(self._sock,name)(*args)   gaierror: [Errno 11004]
getaddrinfo failed

Getting this error when launching the hello world sample from here:

http://bottlepy.org/docs/dev/

Blub
  • 11,602
  • 14
  • 63
  • 96
  • Is there a way to gracefully handle this error? I have a password reset form and it works fine if the `EMAIL_HOST` info is correct. But assuming that the e-mail server is down for some reason, how do I handle this case? It's all done under the covers by the `django.contrib.auth()` modules right now. – ravioli Jul 19 '18 at 02:07

5 Answers5

60

It most likely means the hostname can't be resolved.

import socket
socket.getaddrinfo('localhost', 8080)

If it doesn't work there, it's not going to work in the Bottle example. You can try '127.0.0.1' instead of 'localhost' in case that's the problem.

guettli
  • 26,461
  • 53
  • 224
  • 476
robots.jpg
  • 4,471
  • 32
  • 38
10

The problem, in my case, was that some install at some point defined an environment variable http_proxy on my machine when I had no proxy.

Removing the http_proxy environment variable fixed the problem.

Declan Brennan
  • 300
  • 3
  • 5
  • Notebook at work: everything great. Notebook at home: Failed. I set this environment variable a long time ago and forgot about it. I wonder why python's http library doesn't get proxy settings from the OS... BTW I was getting this error with `easy_install` – KurzedMetal Nov 01 '13 at 23:58
4

Make sure you pass a proxy attribute in your command forexample - pip install --proxy=http://proxyhost:proxyport pixiedust

Use a proxy port which has direct connection (with / without password). Speak with your corporate IT administrator. Quick way is find out network settings used in eclipse which will have direct connection.

You will encouter this issue often if you work behind a corporate firewall. You will have to check your internet explorer - InternetOptions -LAN Connection - Settings

Uncheck - Use automatic configuration script Check - Use a proxy server for your LAN. Ensure you have given the right address and port.

Click Ok Come back to anaconda terminal and you can try install commands

Vinay
  • 91
  • 5
3

The problem in my case was that I needed to add environment variables for http_proxy and https_proxy.

E.g.,

http_proxy=http://your_proxy:your_port
https_proxy=https://your_proxy:your_port

To set these environment variables in Windows, see the answers to this question.

Community
  • 1
  • 1
user2441511
  • 10,816
  • 3
  • 18
  • 47
0

May be this will help some one. I have my proxy setup in python script but keep getting the error mentioned in the question.

Below is the piece of block which will take my username and password as a constant in the beginning.

   if (use_proxy):
        proxy = req.ProxyHandler({'https': proxy_url})
        auth = req.HTTPBasicAuthHandler()
        opener = req.build_opener(proxy, auth, req.HTTPHandler)
        req.install_opener(opener)

If you are using corporate laptop and if you did not connect to Direct Access or office VPN then the above block will throw error. All you need to do is to connect to your org VPN and then execute your python script.

Thanks

Ragavan Rajan
  • 2,700
  • 16
  • 30