问题 在Python Appengine上使用Httplib2


为什么我在运行使用Foursquare尝试OAuth的应用程序时出现此错误?

import httplib2
ImportError: No module named httplib2

我按照说明在命令行下载了安装httplib2并安装了$ python setup.py install 这里

我错过了什么吗?谢谢


8393
2018-02-20 11:25


起源



答案:


您需要在项目中包含库,以便App Engine运行时知道您要导入的内容。

这里

通过将代码放在应用程序目录中,可以在应用程序中包含其他纯Python库。如果您在应用程序目录中创建了指向模块目录的符号链接,appcfg.py将跟随该链接并在您的应用程序中包含该模块。


7
2018-02-20 11:34



我从未使用过符号链接;当用户发布应用程序时会发生什么?符号链接的库也包装好了吗? - systempuntoout
@systempuntoout:是的,appcfg.py不关心应用程序目录中的模块是否是符号链接;它上传它们就好了。 - Wooble
@Wooble我正在使用Google App Engine Launcher,我是否使用终端创建httplib2库的符号链接? - keith
@keith:是的, ln -s 创建符号链接。我不确定在Finder中创建的别名是否与dev_appserver一样。我怀疑他们可能,虽然我现在不是在Mac上测试它。 - Wooble


答案:


您需要在项目中包含库,以便App Engine运行时知道您要导入的内容。

这里

通过将代码放在应用程序目录中,可以在应用程序中包含其他纯Python库。如果您在应用程序目录中创建了指向模块目录的符号链接,appcfg.py将跟随该链接并在您的应用程序中包含该模块。


7
2018-02-20 11:34



我从未使用过符号链接;当用户发布应用程序时会发生什么?符号链接的库也包装好了吗? - systempuntoout
@systempuntoout:是的,appcfg.py不关心应用程序目录中的模块是否是符号链接;它上传它们就好了。 - Wooble
@Wooble我正在使用Google App Engine Launcher,我是否使用终端创建httplib2库的符号链接? - keith
@keith:是的, ln -s 创建符号链接。我不确定在Finder中创建的别名是否与dev_appserver一样。我怀疑他们可能,虽然我现在不是在Mac上测试它。 - Wooble


我在使用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
2018-01-02 03:43





httplib2 作为此处记录的第三方库:

https://cloud.google.com/appengine/docs/python/tools/libraries27#vendoring

安装时间:

pip install -t lib httplib2

2
2018-06-30 15:04





https://developers.google.com/api-client-library/python/start/installation

在App Engine中安装库及其所有依赖项   项目,下载名为google-api-python-client-gae-N.M.zip的文件   从下载列表中,N.M是版本号   最新发布。将该文件解压缩到您的项目中。


0
2017-11-01 20:31