我正在尝试为Google Cloud设置python源文件。 我在MAC OS 10.6上安装了GSUtil,并按照页面上的说明设置文件路径 将此命令(导出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
有人可以帮我解决这个问题吗? (对不起,我是新手!) 提前谢谢。
答案 0 :(得分:1)
当您将代码作为Google App Engine应用程序运行或部署时,AE工具会确保您可以访问AE特定模块(例如google.appengine.ext),但听起来您尝试运行此脚本作为一个独立的程序,在app引擎之外。如果是这样,您可能不需要 appengine模块(很难说没有看到更多的代码)。如果我是正确的,这是一个在AE外部运行的小测试代码,请尝试注释导入和对丢失模块的引用。完成后,如果/当您准备好在应用引擎(本地开发环境或托管服务)下尝试您的程序时,请取消注释该代码。
答案 1 :(得分:0)
您是否将oauth2_plugin.py
移动(或复制)到另一个地方?您在该堆栈跟踪中显示的内容显示cloudauth/oauth2_plugin.py
(这是与app引擎一起使用的插件),而不是oauth2_plugin/oauth2_plugin.py
(可能是您想要的那个)。
你的完整PYTHONPATH是什么?
答案 2 :(得分:0)
听起来你输入了错误的oauth2_plugin,因为gsutil / oauth2_plugin中的那个不依赖于app引擎。
我遇到了同样的问题,因为我之前使用gsutil / cloudauth / oauth2_plugin.py进行了测试,但它仍处于PYTHONPATH状态。
尝试使用以下方法刷新PYTHONPATH:
PYTHONPATH=""
source ~/.bashrc
答案 3 :(得分:0)
我有同样的问题 - 我通过在PYTHONPATH中添加一个目录来解决它:https://stackoverflow.com/a/19019234/1741654