1

我正在尝试为 Google Cloud 设置 python 源文件。我已经在我的 MAC OS 10.6 上安装了 GSUtil,并按照页面上的说明设置了文件的路径,将这个命令 (export PYTHONPATH=${PYTHONPATH}:$HOME/gsutil/boto:$HOME/gsutil) 添加到 .bash_profile 下主目录。

然后,我运行以下代码:

#!/usr/bin/python

import StringIO
import os
import shutil
import tempfile
import time
from oauth2_plugin import oauth2_plugin

import boto

# URI scheme for Google Cloud Storage.
GOOGLE_STORAGE = 'gs'
# URI scheme for accessing local files.
LOCAL_FILE = 'file'

而且,编译器给了我一个错误说

>>> [evaluate gs.py]
Traceback (most recent call last):
  File "/Volumes/WingIDE-101-4.0.0/WingIDE.app/Contents/MacOS/src/debug/tserver/_sandbox.py", line 8, in <module>
  File "/Users/lsangin/oauth2_plugin.py", line 18, in <module>
  File "/Users/lsangin/google_appengine/cloudauth/oauth2client/appengine.py", line 24, in <module>
    from google.appengine.ext import db
ImportError: No module named google.appengine.ext
>>> from google.appengine.ext

有人可以帮我解决这个问题吗?(对不起,我是新手!)提前谢谢你。

4

4 回答 4

1

当您将代码作为 Google App Engine 应用程序运行或部署时,AE 工具会确保您可以访问 AE 特定模块(例如 google.appengine.ext),但听起来您正在尝试运行此脚本作为支架单独的程序,在应用程序引擎之外。如果是这样,您可能不需要 appengine 模块(如果没有看到更多代码,很难确定)。如果我是正确的并且这是在 AE 之外运行的一小段测试代码,请尝试注释掉导入和对缺失模块的引用。一旦你开始工作,如果/当你准备好在应用程序引擎(本地开发环境或托管服务)下尝试你的程序时,取消注释该代码。

于 2012-02-10T21:00:25.303 回答
0

Sounds like you are importing the wrong oauth2_plugin because the one in gsutil/oauth2_plugin does not depend on app engine.

I had the same problem because I previously tested with gsutil/cloudauth/oauth2_plugin.py and it was still in PYTHONPATH.

Try refreshing the PYTHONPATH with:

PYTHONPATH=""
source ~/.bashrc
于 2012-04-18T04:30:14.067 回答
0

您是否移动(或复制)oauth2_plugin.py到不同的地方?您在该堆栈跟踪中显示cloudauth/oauth2_plugin.py的内容(这是与应用程序引擎一起使用的插件),而不是oauth2_plugin/oauth2_plugin.py(可能是您想要的那个)。

你的完整 PYTHONPATH 是什么?

于 2012-02-09T04:07:37.953 回答
0

我遇到了同样的问题——我通过在我的 PYTHONPATH 中添加一个目录来解决它:https ://stackoverflow.com/a/19019234/1741654

于 2013-09-26T04:15:52.043 回答