繁体   English   中英

Python上的Google App Engine“ ImportError:没有名为google.appengine.ext的模块”

[英]Google App Engine on Python “ImportError: No module named google.appengine.ext”

我正在尝试为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

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

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

听起来您正在导入错误的oauth2_plugin,因为gsutil / oauth2_plugin中的一个不依赖于应用引擎。

我遇到了同样的问题,因为我之前使用gsutil / cloudauth / oauth2_plugin.py进行了测试,但它仍位于PYTHONPATH中。

尝试使用以下方法刷新PYTHONPATH:

PYTHONPATH=""
source ~/.bashrc

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

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

什么是完整的PYTHONPATH?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM