2011-11-10 160 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

相關問題