在 Python Appengine 上使用 Httplib2
Posted
技术标签:
【中文标题】在 Python Appengine 上使用 Httplib2【英文标题】:Using Httplib2 on Python Appengine 【发布时间】:2011-06-30 17:07:55 【问题描述】:为什么我在运行尝试使用 Foursquare 进行 OAuth 的应用程序时收到此错误?
import httplib2
ImportError: No module named httplib2
我已经按照here的指示下载了httplib2并在命令行上安装了$ python setup.py
我错过了什么吗?谢谢
【问题讨论】:
【参考方案1】:您需要在项目中包含该库,以便 App Engine 运行时知道您正在导入什么。
来自here:
您可以通过将代码放在您的应用程序目录中,在您的应用程序中包含其他纯 Python 库。如果您在应用程序目录中创建一个指向模块目录的符号链接,appcfg.py 将跟随该链接并将该模块包含在您的应用程序中。
【讨论】:
我从未使用过符号链接;当用户发布应用程序时会发生什么?符号链接库也打包了吗? @systempuntoout:是的,appcfg.py 不关心应用程序目录中的模块是否是符号链接;它上传它们就好了。 @Wooble 我正在使用 Google App Engine Launcher,我是否使用终端来创建指向 httplib2 库的符号链接? @keith:是的,ln -s
创建符号链接。我不确定在 Finder 中创建的别名是否与 dev_appserver 相同。我怀疑他们可能会,尽管我目前不在 Mac 上进行测试。【参考方案2】:
我创建了一个简单示例,说明如何在使用 Google App Engine 时执行此操作。 (https://github.com/muanis/foursquare-oauth-bootstrap)基本上你需要谷歌oAuth2客户端(http://code.google.com/p/google-api-python-client/)和httplib2(http: //code.google.com/p/httplib2/)
【讨论】:
【参考方案3】:将httplib2
添加为第三方库,如此处所述:
https://cloud.google.com/appengine/docs/python/tools/libraries27#vendoring
安装方式:
pip install -t lib httplib2
【讨论】:
【参考方案4】:https://developers.google.com/api-client-library/python/start/installation
在 App Engine 中安装库及其所有依赖项 项目,下载名为 google-api-python-client-gae-N.M.zip 的文件 从下载列表中,其中 N.M 是版本号 最新发布。将该文件解压缩到您的项目中。
【讨论】:
以上是关于在 Python Appengine 上使用 Httplib2的主要内容,如果未能解决你的问题,请参考以下文章
在没有 lxml 的 Google Appengine 上使用 python-amazon-product-api [重复]
appengine python`PUT/DELETE`在本地主机上工作但不在服务器上
在 AppEngine 的根路径上处理 _escaped_fragment_