我正在尝试导入我想要在Google App Engine上本地查看的应用的请求模块。我收到一个日志控制台错误,告诉我"没有这样的模块"。
我已经在命令行中安装了它(使用pip
),甚至尝试将其安装在我的项目目录中。当我这样做时,shell告诉我:
"要求已经满足(使用--upgrade升级):/ Library/Python/2.7/site-packages"中的请求。
App Engine告诉我该模块不存在,并且shell说它已经安装了它。
我不知道这是否是路径问题。如果是这样,我可以在我的mac中找到的唯一App Engine相关应用程序是启动器?
答案 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
。