【问题标题】:Unsupported python libraries in Google App EngineGoogle App Engine 中不支持的 python 库
【发布时间】:2013-04-24 08:28:34
【问题描述】:

我试图找到这个问题的答案,但无法确定是否可以通过某种方式添加不受 Google App Engine 支持的 Python 库。

我的 Python 程序原本不打算成为 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、cairo 等...

是否有解决此问题的简单方法,或者我必须放弃将我的程序部署到 Google 吗?

【问题讨论】:

  • 纯 Python 库可以与您的代码一起上传,但使用 C 扩展(非可选)的库可能无法使用,除非 Google 明确提供。
  • 那里的第一个答案基本上回答了你的问题
  • +1,确实。不知何故,我的搜索没有返回这个。尽管答案有点像这里的问题并且问题相似,但我确实认为方法有所不同,因为在这里我也遇到了发布错误消息的问题,所以我将把这个问题留在这里。谢谢。

标签: python google-app-engine python-2.7


【解决方案1】:

您似乎正试图在您的app.yaml 文件的libraries 部分中列出gspread。首先,这不是该部分的用途。在文档中阅读它。

其次,将第三方库添加到您的应用中的方法是将它们与您的应用一起提供,就像您应用的其他代码一样。这是你应该做的。你只需要确保

  1. Python 可以找到您的第三方库
  2. 这些库是纯 Python;没有 C 模块。

【讨论】:

  • 是的。即使这是我问题的答案,我也需要寻找其他方法,因为我也有一个 wx GUI。我在 GAE 方面做得还差得很远。谢谢。
  • wx 如何在任何 Web 应用程序中显示桌面窗口?无论您从哪个平台提供应用,这似乎都会阻止您提供应用。
  • 是的。这就是我所说的。将需要重新制作所有内容。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-08-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-06-12
相关资源
最近更新 更多