【问题标题】:GAE doesn't import gflagsGAE 不导入 gflags
【发布时间】:2012-11-25 03:07:43
【问题描述】:

我正在尝试让 oauth 在 Google App Engine (GAE) 上运行,但我无法导入 OAuth2Decorator,因为它尝试导入 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

【问题讨论】:

    标签: google-app-engine python-2.7 oauth-2.0 google-api-python-client gflags


    【解决方案1】:

    抱歉,我最近刚刚使用 App Engine 特定说明更新了安装说明:

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

    有一个专门针对 App Engine 的下载,其中包含所有客户端库代码依赖项,只需将该文件解压缩到您的项目中即可。

    【讨论】:

    • 我没有使用 appengine,只需要我的服务器上的 oauth 客户端库。按照页面上的非 appengine 特定说明操作后,我仍然收到此错误。这有点令人沮丧。
    • 这对我来说再次发生。
    【解决方案2】:

    您需要将所需的库文件添加到您的 App Engine 项目中。从client library docs,一旦你安装了客户端库运行:

    $ enable-app-engine-project your_app_directory
    

    【讨论】:

    • 我运行了那个命令,我给了我一个错误,说 oauth2client 已经存在于目录中,因为我手动将它放在那里,所以我删除了它并重新运行了命令。问题是它只将__init__.py 文件复制到新的oauth2client 目录中,而不是oauth2client 文件的其余部分,例如app engine.py 文件。我尝试重新安装oauth2client 但这不起作用,所以我只是手动替换了该文件夹。我应该手动添加文件还是应该复制所有文件?
    猜你喜欢
    • 2015-04-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-11
    • 1970-01-01
    相关资源
    最近更新 更多