2014-12-26 30 views
2

我遇到了GAE教程的問題。爲了開始工作,我必須重新安裝pyyaml。帶端點教程的ImportError

現在我越來越:

INFO  2014-12-26 15:06:11,200 module.py:718] default: "POST /_ah/spi/BackendService.getApiConfigs HTTP/1.1" 500 - 
INFO  2014-12-26 15:06:11,203 module.py:718] default: "GET /_ah/api/discovery/v1/apis HTTP/1.1" 500 60 
ERROR 2014-12-26 20:06:11,236 wsgi.py:263] 
Traceback (most recent call last): 
    File "C:\Program Files\Google\Cloud SDK\google-cloud-sdk\platform\google_appengine\google\appengine\runtime\wsgi.py", 
line 240, in Handle 
    handler = _config_handle.add_wsgi_middleware(self._LoadHandler()) 
    File "C:\Program Files\Google\Cloud SDK\google-cloud-sdk\platform\google_appengine\google\appengine\runtime\wsgi.py", 
line 299, in _LoadHandler 
    handler, path, err = LoadObject(self._handler) 
    File "C:\Program Files\Google\Cloud SDK\google-cloud-sdk\platform\google_appengine\google\appengine\runtime\wsgi.py", 
line 85, in LoadObject 
    obj = __import__(path[0]) 
ImportError: No module named helloworld_api 

我跟着tutorial的點,多次。每次都有相同的錯誤。 電流我試圖解決這個itiration,看起來是這樣的:

的app.yaml

application: *my id here* 
version: 1 
runtime: python27 
threadsafe: true 
api_version: 1 

handlers: 
# Endpoints handler 
- url: /_ah/spi/.* 
    script: helloworld_api.APPLICATION 

libraries: 
- name: pycrypto 
    version: latest 
- name: webapp2 
    version: "2.5.2" 
- name: endpoints 
    version: 1.0 

的.py是相當長的,但它從一個步驟複製粘貼7 here

隱而不宣無論我如何啓動它,命令行或App Engine啓動器,都會發生相同的錯誤。它看起來很奇怪,因爲它明顯從啓動程序啓動罰款,它承認它。服務器啓動時沒有錯誤。當我嘗試基本教程時,它的工作也很好,與端點的東西只是不點擊我。

我在API瀏覽器中得到一個空白屏幕。

文件結構是:

-project 
-django 
    -helloworld 
    app.yaml 
    helloworld_api.py 
    helloworld.py 

我調用命令從Django的目錄中dev_appserver.py helloworld從谷歌雲SDK殼牌

+0

介意發佈你的helloword_api.py? – Patrice

+0

使用.py部分更新 – rodling

+0

嗯,我想重新檢查一下,如果實際py出現問題,請將其與p進行比較:p我假設您已經多次執行此操作。 「APPLICATION = endpoints.api_server([HelloWorldApi])」是一個可能導致此錯誤的步驟,如果您跳過它。確定它在那裏?因爲如果沒有,這一切都指向你的文件夾結構可能被破壞?...讓我檢查是否我可以得到相同的錯誤 – Patrice

回答

1

如果你可以的helloworld_api.py內容添加到你的問題,我可以期待通過它並查看是否是這個問題,因爲有時候,使用Python時,您必須精確瞭解文檔的結構,否則將不會將其識別爲文檔。我以前遇到過這個問題。

+0

它從我鏈接的教程從步驟7複製粘貼。這是相當長的一塊,因此我沒有把它放進去。還想讓我包括它嗎? – rodling

+0

我不確定了。 –

1

我剛從該教程頁面複製了app.yaml和helloworld_api.py的內容,它完美地工作。我建議你檢查文件的內容是否與教程頁面相匹配。

此外,我看到你的目錄中有一個helloworld.py文件。我在教程中沒有看到這個文件。它包含什麼?

+0

多數民衆贊成在這一點上,它適用於除我以外的每個人,我想爲什麼是這樣。 helloworld.py來自GAE的基礎教程,它工作正常,獨立 – rodling

+1

我明白了。我試圖指出,這個問題顯然不適用於教程代碼。這隻會讓你無法正常工作的原因出現在你的系統上。所以我們無法幫助您根據您給我們的當前信息。如果你發佈你的實際文件,我們可以嘗試使用它們來查看我們是否可以重現。 – erickCo

+0

你想讓我分享這些文件嗎?我列出了代碼和結構 – rodling

0

我也有同樣的問題,但我能解決它。我認爲你需要確保.py文件的文件名在app.yaml中是相同的。

在我的情況下,我在main.py中創建了應用程序。所以請確保它在app.yaml中被列爲main.application。它需要是「主要」,而不是helloworld_api.APPLICATION。還要確保「應用程序」的情況相符。