5

我試圖讓oauth在Google App Engine(GAE)上工作,但我無法導入OAuth2Decorator,因爲它試圖導入gflags並失敗。GAE不導入gflags

在命令行中我已經跑了help('modules')和GFLAGS上市,我已經跑了import os + import gflags + print os.path.dirname(gflags.__file__)並獲得/Library/Python/2.7/site-packages/python_gflags-2.0-py2.7.egg

在GAE開發控制檯我跑:

import sys 
import os 

try: 
    import webapp2 
    import httplib2 
    from oauth2client.appengine import OAuth2Decorator 

except ImportError, e: 
    print("The import failed!") 
    print(e) 

並獲得:

The import failed! 
No module named gflags 

gflagsfrom oauth2client.appengine import OAuth2Decorator進口的,但GAE沒有我每次運行該代碼一次導入gflags

我不知道它的確與衆不同,但我運行Mac OS 10.7.5和Python 2.7.1

回答

2

你需要所需的庫文件添加到您的App Engine項目。從client library docs,一旦你安裝了客戶端庫運行:

$ enable-app-engine-project your_app_directory 
+0

我運行了這個命令,並且給了我一個錯誤,說oauth2client已經存在於目錄中了,這是因爲我手動將它放在那裏,所以我刪除它並重新執行命令。問題是它只是將'__init __。py'文件複製到新的'oauth2client'目錄中,而不是'oauth2client'文件的其餘部分,例如'app engine.py'文件。我試着重新安裝'oauth2client',但那沒有奏效,所以我只是手動更換了文件夾。我是否需要手動添加文件或者是否應該將所有文件複製過來? –

6

對不起,我最近剛剛更新的安裝說明與App Engine的具體說明:

https://developers.google.com/api-client-library/python/start/installation

有一個專門下載對於包含所有客戶端庫代碼依賴關係的App Engine,只需將該文件解壓縮到您的項目中,並且應該很好。

+0

我沒有使用appengine,只需要我服務器上的oauth客戶端庫。在遵循頁面上的非appengine特定說明之後,我仍然遇到此錯誤。這有點令人沮喪。 – Swapnil

+0

這爲我重新安裝。 –