4

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

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

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

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

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

4

2 回答 2

11

您需要将 requests 模块,即requests 文件夹的内容 放在您的项目目录中。为清楚起见,您的应用程序目录应如下所示

/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)
于 2013-06-15T21:40:34.873 回答
0

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

这适用于您为 Google App Engine 包含的所有模块。如果它没有__init__.py直接位于该位置下,它将无法工作。

您不需要将模块添加到app.yaml.

于 2016-02-20T23:44:52.417 回答