2011-11-10 148 views
1

我试图将我的应用程序引擎应用程序从python 2.5切换到2.7和urlfetch.fetch()只是不想工作(在开发服务器上至少;我还没有部署它)。如果我做的简单的东西:App Engine python27 urlfetch错误:“[Errno 11003] getaddrinfo失败”

file = urlfetch.fetch(url="http://www.google.com") 

我收到以下错误:

File "C:\workspace\DjangoServer\src\mycode.py", line 167, in request 
    file = urlfetch.fetch(url="http://www.google.com") 
File "C:\Program Files (x86)\Google\google_appengine\google\appengine\api\urlfetch.py", line 264, in fetch 
    return rpc.get_result() 
File "C:\Program Files (x86)\Google\google_appengine\google\appengine\api\apiproxy_stub_map.py", line 592, in get_result 
    return self.__get_result_hook(self) 
File "C:\Program Files (x86)\Google\google_appengine\google\appengine\api\urlfetch.py", line 366, in _get_fetch_result 
    raise DownloadError(str(err)) 
DownloadError: ApplicationError: 2 [Errno 11003] getaddrinfo failed 

搜索互联网已经暗示它可能是一个防火墙或代理服务器的问题,但我关掉防火墙和我我不在代理之后。

这在python 2.5 dev服务器中工作正常,但不是python 2.7 dev服务器。如果我打开一个python 2.7控制台并手动运行socket.getaddrinfo("www.google.com", 80)它也可以在那里工作。

任何想法?有人遇到过这种情况么?

+0

你是最新版本的SDK 1.6.0吗? –

+0

此外,你会ping本地主机,并确认它解析为127.0.0.1? –

+0

是的,我正在使用1.6 SDK并且ping本地主机解析为127.0.0.1。我的主机文件也是空的。我正在使用Windows 7. – DurhamG

回答

1

好吧,我已经能够重现这个问题,并经过很多来回的git从一个版本工作到一个版本不工作,我发现(至少在我的情况下)的问题在django-nonrel(因为我一次更新:django-nonrel和appengine)。

所以,请执行以下操作:编辑djangoappengine/settings_base.py和改变

try: 
    from google.appengine.api import apiproxy_stub_map 
except ImportError: 
    from .boot import setup_env 
    setup_env() 

from djangoappengine.utils import on_production_server, have_appserver 

到:

from djangoappengine.utils import on_production_server, have_appserver 
if not on_production_server: 
    from .boot import setup_env 
    setup_env() 

真正的问题似乎是,在以前版本的Django的nonrel的,导入实际上是这样写的:from google.appengine.api import api_proxy_stub_map(它从来没有找到,并且始终调用setup_env()),所以,当导入被修复时,不再调用setup_env()哪些在我的cas e使错误出现)。

第二个说明是由于某些原因,这只是在Eclipse/PyDev内部运行时发生的,并且它在命令行上工作(尽管环境变量对我来说似乎相同,所以我不确定为什么运行从Java内部实际上有所作为)。

+0

不幸的是,这并没有解决我的错误:(我使用PyCharm。谢谢反正。 – DurhamG

+0

我使用django-nonrel,它没有工作。 – Tzach

相关问题