Python请求模块 - Google App Engine

时间:2013-06-15 21:36:06

标签: python google-app-engine

我正在尝试导入我想要在Google App Engine上本地查看的应用的请求模块。我收到一个日志控制台错误,告诉我"没有这样的模块"。

我已经在命令行中安装了它(使用pip),甚至尝试将其安装在我的项目目录中。当我这样做时,shell告诉我:

  

"要求已经满足(使用--upgrade升级):/ Library/Python/2.7/site-packages"中的请求。

App Engine告诉我该模块不存在,并且shell说它已经安装了它。

我不知道这是否是路径问题。如果是这样,我可以在我的mac中找到的唯一App Engine相关应用程序是启动器?

2 个答案:

答案 0 :(得分:11)

您需要将请求模块the contents of the requests folder放在项目目录中。为了清楚起见,您的app目录应该看起来像

/myapp/app.yaml
/myapp/main.py
/myapp/requests/packages/
/myapp/requests/__init__.py
/myapp/requests/adapters.py
etc...

然后在main.py中添加类似

的内容
import webapp2
import requests

class MainHandler(webapp2.RequestHandler):
    def get(self):
        g = requests.get('http://www.google.com')
        self.response.write(g.text)

app = webapp2.WSGIApplication([
    ('/', MainHandler)
], debug=True)

答案 1 :(得分:0)

您需要将请求/请求子文件夹添加到项目中。从您的脚本位置(.),您应该会在./requests/__init__.py看到一个文件。

这适用于您为Google App Engine提供的所有模块。如果它没有直接在该位置下__init__.py,则无效。

您无需将模块添加到app.yaml