2013-04-24 40 views
1

我試圖找到這個問題的答案,但無法確定是否可能以某種方式添加不受Google App Engine支持的Python庫。Google App Engine中不受支持的Python庫

我的Python程序並不是一個Google應用程序,但現在我想成爲一個Google應用程序。

這是一個非常大的項目,有數千行代碼,並且使用許多不在list of supported libraries上的庫。

的第一個錯誤,我得到和堆棧跟蹤:

File "C:\Program Files (x86)\Google\google_appengine\google\appengine\api\appinfo_includes.py", line 63, in ParseAndReturnIncludePaths 
    appyaml = appinfo.LoadSingleAppInfo(appinfo_file) 
    File "C:\Program Files (x86)\Google\google_appengine\google\appengine\api\appinfo.py", line 1690, in LoadSingleAppInfo 
    listener.Parse(app_info) 
    File "C:\Program Files (x86)\Google\google_appengine\google\appengine\api\yaml_listener.py", line 226, in Parse 
    self._HandleEvents(self._GenerateEventParameters(stream, loader_class)) 
    File "C:\Program Files (x86)\Google\google_appengine\google\appengine\api\yaml_listener.py", line 177, in _HandleEvents 
    raise yaml_errors.EventError(e, event_object) 
google.appengine.api.yaml_errors.EventError: the library "gspread" is not supported 

這將可能是其他庫,如相同:IGRAPH,開羅等..

有一個簡單的解決這個問題還是必須放棄將我的程序部署到Google?

+3

純Python庫可以隨代碼一起上傳,但使用C擴展名(不是可選)的庫可能無法工作,除非Google專門提供該擴展庫。 – Blckknght 2013-04-24 08:57:08

+0

[如何在Google Appengine中包含第三方Python庫?](http://stackoverflow.com/questions/14850853/how-to-include-third-party-python-libs-in-google-appengine) – Lipis 2013-04-24 09:13:54

+1

第一個答案基本上回答你的問題 – Lipis 2013-04-24 09:14:53

回答

3

看起來您正試圖在app.yaml文件的libraries部分中列出gspread。首先,這不是該部分的用途。在文檔中閱讀它。

其次,將第三方庫導入到您的應用中的方式是將它們與您的應用一起發貨,就像應用的其他代碼一樣。這是你應該做的。你只需要確保

  1. Python就能找到你的第三方庫
  2. 庫是純Python;沒有C模塊。
+0

是的。即使這是我的問題的答案,我將需要尋找其他方法,因爲我也有一個wx GUI。 GAE的表現遠不如我。謝謝。 – Laci 2013-04-24 12:09:26

+0

wx如何能夠在任何Web應用程序中顯示桌面窗口?看起來像這樣會阻止你爲你的應用程序提供服務,無論你使用哪個平臺。 – allyourcode 2013-04-24 23:51:49

+0

是的。這就是我所說的。將需要重新制作一切。 – Laci 2013-04-25 06:24:49

相關問題